找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2944|回復(fù): 7
收起左側(cè)

C語(yǔ)言建一個(gè)數(shù)組然后做對(duì)比要如何實(shí)現(xiàn)?

[復(fù)制鏈接]
ID:327265 發(fā)表于 2020-10-12 11:27 | 顯示全部樓層 |閱讀模式
怎么做我啟動(dòng)A和B、C模式,但我按暫停更改模式A和B、D再啟動(dòng)怎么做區(qū)分我把C模式換成D模式,
我想到的是建一個(gè)數(shù)組然后做對(duì)比,如果更改模式把a(bǔ)標(biāo)志置1,沒(méi)更改a標(biāo)志為0;但我不知道怎么實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

ID:750420 發(fā)表于 2020-10-12 18:53 | 顯示全部樓層
使用一個(gè)變量int mode=0;
使能a模式的話
mode|=0x8;
使能b模式的話
mode|=0x4;
使能c模式的話
mode|=0x2;
使能d模式的話
mode|=0x1;
回復(fù)

使用道具 舉報(bào)

ID:327265 發(fā)表于 2020-10-13 08:57 | 顯示全部樓層
wyqf 發(fā)表于 2020-10-12 18:53
使用一個(gè)變量int mode=0;
使能a模式的話
mode|=0x8;

這個(gè)我明白就是我不明白的就是我怎么做對(duì)比啟動(dòng)前和暫停更改模式要一個(gè)一個(gè)的去對(duì)比很麻煩而且也占字節(jié),我的模式有十幾種,這樣也不好對(duì)比
回復(fù)

使用道具 舉報(bào)

ID:748788 發(fā)表于 2020-10-13 10:45 | 顯示全部樓層
大長(zhǎng)句子表明你的思路不清晰。你說(shuō)的模式是什么?模式之間有可比性嗎?不妨舉個(gè)例子向大家說(shuō)明一下。
回復(fù)

使用道具 舉報(bào)

ID:327265 發(fā)表于 2020-10-13 12:44 | 顯示全部樓層
wwh2382 發(fā)表于 2020-10-13 10:45
大長(zhǎng)句子表明你的思路不清晰。你說(shuō)的模式是什么?模式之間有可比性嗎?不妨舉個(gè)例子向大家說(shuō)明一下。

就是我要做的是個(gè)操控顯示板,下面還有一個(gè)作為一個(gè)主控板。我開(kāi)機(jī)默認(rèn)A B模式并啟動(dòng)同時(shí)發(fā)送給主控板告訴它說(shuō)我按下A B模式讓它執(zhí)行相對(duì)應(yīng)的模式動(dòng)作,如果我暫停并重新選模式如改成A C模式,我再次啟動(dòng)我得告訴下面主控板說(shuō)我上面切換模式啦,得重新對(duì)于A C模式運(yùn)行。就是我每更改模式都會(huì)把相對(duì)應(yīng)的模式發(fā)下去,但是我想要加一個(gè)說(shuō)明我更改模式的標(biāo)志,我就是想請(qǐng)教這個(gè)問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:466578 發(fā)表于 2020-10-13 14:52 | 顯示全部樓層
取一個(gè)字節(jié)(8bit)或2字節(jié)(16bit)做模式狀態(tài)暫存,1為開(kāi),0為關(guān)
bit0   模式A
bit1   模式B
bit2   模式C
...
上次模式暫存異或當(dāng)前模式暫存,如果=0,表示沒(méi)修改模式,否則表示模式修改
回復(fù)

使用道具 舉報(bào)

ID:750420 發(fā)表于 2020-10-15 20:56 | 顯示全部樓層
whwteng 發(fā)表于 2020-10-13 08:57
這個(gè)我明白就是我不明白的就是我怎么做對(duì)比啟動(dòng)前和暫停更改模式要一個(gè)一個(gè)的去對(duì)比很麻煩而且也占字節(jié), ...

為什么,要一個(gè)個(gè)對(duì)比?正常來(lái)講這種模式就是借鑒了單片機(jī)中寄存器控制的方式,這樣操作的話只需要吧所有的操作模式定義到一個(gè)全局變量中就可以進(jìn)行控制了,比較的的話需要你自己記住他的每一位代表的含義也是和單片機(jī)的寄存器操作類似的,可以采用int a=mode&0x80;//0x80是我之前回復(fù)你設(shè)置模式a用的,a>0則被使能,a==0則不被使能。很簡(jiǎn)單的操作,而且關(guān)于你說(shuō)的很占字節(jié)我不是很理解,這種方式應(yīng)該是最省字節(jié)的方式了int16的話可以同時(shí)控制16種模式的開(kāi)啟關(guān)閉。希望你能再詳細(xì)描述下你的需求
回復(fù)

使用道具 舉報(bào)

ID:414556 發(fā)表于 2020-10-15 21:16 | 顯示全部樓層
模式是唯一執(zhí)行的吧,一個(gè)數(shù)就可以了。
MODE=0;//啟動(dòng)默認(rèn)模式
主程序里
if (MODE==0){}//執(zhí)行模式0狀態(tài)
if (MODE==1){}//執(zhí)行模式1狀態(tài)
if (MODE==2){}//執(zhí)行模式2狀態(tài)
。。。。。。




回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表