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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關于編碼開關連接單片機作為地址,實現硬件更改本機ID

查看數: 2169 | 評論數: 16 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-12-13 10:33

正文摘要:

用兩個編碼開關連接P0口,實現硬件更改本機ID。現在 P0 = 0xXX;然后if( Data == P0),只能實現一個固定的ID,更改ID還要在程序上更改。(XX為ID) 讀取單片機P0口高低電平作為地址,和發送的數據對比,具體怎么 ...

回復

ID:963748 發表于 2021-12-14 11:46
datouyuan 發表于 2021-12-14 10:45
是不是硬件問題?
把2個撥碼開關都撥到0位,看P0的8個腳是否全為0。
把2個撥碼開關都撥到3位,看P0的8個 ...

謝謝回復,是硬件的問題,把高低4位互換就好了
ID:887371 發表于 2021-12-14 10:45
是不是硬件問題?
把2個撥碼開關都撥到0位,看P0的8個腳是否全為0。
把2個撥碼開關都撥到3位,看P0的8個腳是否為00110011。
ID:963748 發表于 2021-12-14 10:36
Hephaestus 發表于 2021-12-13 13:38
還是不行,是怎么不行?貼代碼出來。

謝謝大佬的回復,是我的問題,通過串口把P0口的值讀出來發現是高低4位反過來了(因為硬件是個成品,我是拿來搞程序的),現在把高低4位互換搞好了
ID:963748 發表于 2021-12-14 10:35
188610329 發表于 2021-12-13 12:37
你說的不行,到底是什么?
還有,你知道不知道, 這個撥碼開關連接P0口到底代表什么意思? 以及,你有沒有手 ...

謝謝大佬的回復,通過串口把P0口的值讀出來發現是高低4位反過來了(因為硬件是個成品,我是拿來搞程序的),現在把高低4位互換搞好了
ID:301191 發表于 2021-12-14 01:57
頂一下
ID:883242 發表于 2021-12-13 13:38
Zzwh 發表于 2021-12-13 11:57
謝謝,明白了,但還是不行

還是不行,是怎么不行?貼代碼出來。
ID:624769 發表于 2021-12-13 12:37
你說的不行,到底是什么?
還有,你知道不知道, 這個撥碼開關連接P0口到底代表什么意思? 以及,你有沒有手段確切地知道P0口的讀值?最后,你知道不知道,8951的話,不上拉,P0口是沒有1的?
ID:963748 發表于 2021-12-13 11:57
Hephaestus 發表于 2021-12-13 11:43
把兩個編碼開關調到1和0;設置P0 = 0xff; 然后再拿P0去判斷ID就可以;因為P0讀到的值是0x10,如果你接收 ...

謝謝,明白了,但還是不行
ID:963748 發表于 2021-12-13 11:53
Hephaestus 發表于 2021-12-13 11:39
P0=0xff; // set P0 to input mode
if(Data==P0){}

這樣也不行
ID:883242 發表于 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的值是撥碼開關設定的。
ID:963748 發表于 2021-12-13 11:40
Hephaestus 發表于 2021-12-13 11:23
到底是發送還是接收???
發送直接ID=P0,然后把數據發出去就好了。
如果是接收“現在 P0 = 0xXX;然后if ...

把兩個編碼開關調到1和0;設置P0 = 0x10; 然后再拿P0去判斷就可以;但只能程序上更改ID
ID:883242 發表于 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跟撥碼開關的值比對,如果對上了就接受。
ID:963748 發表于 2021-12-13 11:32
Hephaestus 發表于 2021-12-13 11:23
到底是發送還是接收???
發送直接ID=P0,然后把數據發出去就好了。
如果是接收“現在 P0 = 0xXX;然后if ...

謝謝回復,我現在也知道不用設置P0了,但直接拿P0去和指令Data對比數據也不行
ID:883242 發表于 2021-12-13 11:23
到底是發送還是接收???
發送直接ID=P0,然后把數據發出去就好了。
如果是接收“現在 P0 = 0xXX;然后if( Data == P0)”這句完全無法理解,完全沒有必要去設置P0。
ID:963748 發表于 2021-12-13 11:17
Zzwh 發表于 2021-12-13 10:57
定義變量ID = P0;然后再去判斷,也實現不了

是數據類型的問題嗎?
ID:963748 發表于 2021-12-13 10:57
定義變量ID = P0;然后再去判斷,也實現不了

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表