欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于編碼開關連接單片機作為地址,實現硬件更改本機ID [打印本頁]

作者: Zzwh    時間: 2021-12-13 10:33
標題: 關于編碼開關連接單片機作為地址,實現硬件更改本機ID
用兩個編碼開關連接P0口,實現硬件更改本機ID。現在 P0 = 0xXX;然后if( Data == P0),只能實現一個固定的ID,更改ID還要在程序上更改。(XX為ID)

讀取單片機P0口高低電平作為地址,和發送的數據對比,具體怎么寫?

b20089192750650.jpg (13.54 KB, 下載次數: 44)

編碼開關

編碼開關

作者: Zzwh    時間: 2021-12-13 10:57
定義變量ID = P0;然后再去判斷,也實現不了
作者: Zzwh    時間: 2021-12-13 11:17
Zzwh 發表于 2021-12-13 10:57
定義變量ID = P0;然后再去判斷,也實現不了

是數據類型的問題嗎?
作者: Hephaestus    時間: 2021-12-13 11:23
到底是發送還是接收???
發送直接ID=P0,然后把數據發出去就好了。
如果是接收“現在 P0 = 0xXX;然后if( Data == P0)”這句完全無法理解,完全沒有必要去設置P0。
作者: Zzwh    時間: 2021-12-13 11:32
Hephaestus 發表于 2021-12-13 11:23
到底是發送還是接收???
發送直接ID=P0,然后把數據發出去就好了。
如果是接收“現在 P0 = 0xXX;然后if ...

謝謝回復,我現在也知道不用設置P0了,但直接拿P0去和指令Data對比數據也不行
作者: Hephaestus    時間: 2021-12-13 11:39
Zzwh 發表于 2021-12-13 11:32
謝謝回復,我現在也知道不用設置P0了,但直接拿P0去和指令Data對比數據也不行

P0=0xff; // set P0 to input mode
if(Data==P0){}

這不就行了嗎?你隨時改撥碼開關,然后Data跟撥碼開關的值比對,如果對上了就接受。
作者: Zzwh    時間: 2021-12-13 11:40
Hephaestus 發表于 2021-12-13 11:23
到底是發送還是接收???
發送直接ID=P0,然后把數據發出去就好了。
如果是接收“現在 P0 = 0xXX;然后if ...

把兩個編碼開關調到1和0;設置P0 = 0x10; 然后再拿P0去判斷就可以;但只能程序上更改ID
作者: Hephaestus    時間: 2021-12-13 11:43
Zzwh 發表于 2021-12-13 11:40
把兩個編碼開關調到1和0;設置P0 = 0x10; 然后再拿P0去判斷就可以;但只能程序上更改ID

把兩個編碼開關調到1和0;設置P0 = 0xff; 然后再拿P0去判斷ID就可以;因為P0讀到的值是0x10,如果你接收數據指示ID=0x10就接收,不等于0x10就放棄。不需要程序上更改ID,因為ID的值是撥碼開關設定的。
作者: Zzwh    時間: 2021-12-13 11:53
Hephaestus 發表于 2021-12-13 11:39
P0=0xff; // set P0 to input mode
if(Data==P0){}

這樣也不行
作者: Zzwh    時間: 2021-12-13 11:57
Hephaestus 發表于 2021-12-13 11:43
把兩個編碼開關調到1和0;設置P0 = 0xff; 然后再拿P0去判斷ID就可以;因為P0讀到的值是0x10,如果你接收 ...

謝謝,明白了,但還是不行
作者: 188610329    時間: 2021-12-13 12:37
你說的不行,到底是什么?
還有,你知道不知道, 這個撥碼開關連接P0口到底代表什么意思? 以及,你有沒有手段確切地知道P0口的讀值?最后,你知道不知道,8951的話,不上拉,P0口是沒有1的?

作者: Hephaestus    時間: 2021-12-13 13:38
Zzwh 發表于 2021-12-13 11:57
謝謝,明白了,但還是不行

還是不行,是怎么不行?貼代碼出來。
作者: 人工置頂員    時間: 2021-12-14 01:57
頂一下
作者: Zzwh    時間: 2021-12-14 10:35
188610329 發表于 2021-12-13 12:37
你說的不行,到底是什么?
還有,你知道不知道, 這個撥碼開關連接P0口到底代表什么意思? 以及,你有沒有手 ...

謝謝大佬的回復,通過串口把P0口的值讀出來發現是高低4位反過來了(因為硬件是個成品,我是拿來搞程序的),現在把高低4位互換搞好了
作者: Zzwh    時間: 2021-12-14 10:36
Hephaestus 發表于 2021-12-13 13:38
還是不行,是怎么不行?貼代碼出來。

謝謝大佬的回復,是我的問題,通過串口把P0口的值讀出來發現是高低4位反過來了(因為硬件是個成品,我是拿來搞程序的),現在把高低4位互換搞好了
作者: datouyuan    時間: 2021-12-14 10:45
是不是硬件問題?
把2個撥碼開關都撥到0位,看P0的8個腳是否全為0。
把2個撥碼開關都撥到3位,看P0的8個腳是否為00110011。
作者: Zzwh    時間: 2021-12-14 11:46
datouyuan 發表于 2021-12-14 10:45
是不是硬件問題?
把2個撥碼開關都撥到0位,看P0的8個腳是否全為0。
把2個撥碼開關都撥到3位,看P0的8個 ...

謝謝回復,是硬件的問題,把高低4位互換就好了




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1