看板 ASM 關於我們 聯絡資訊
請問一下,我有8個io,分別在不同port 我想用這8個io讀某8bit的變數的內容(用LA),當作debug的pin c語言 該怎麼把這8 個 io 整合呢? 是用struct嗎 ? 我翻了8051的書, 想把struct改成我想要的,但失敗了... 用左移 又不太對的感覺 因為想用成 test是我定義的8bit io, 變數往這test丟 以後要看變數結果就把變數往TEST丟就好 #define IO0 PORTC.1 #define IO1 PORTC.0 #define IO2 PORTB.2 #define IO3 PORTB.1 #define IO4 PORTB.0 #define IO5 PORTD.7 #define IO6 PORTC.2 #define IO7 PORTC.3 void test(unsigned char data) { IO7 = data & 0x80 << 0; IO6 = data & 0x40 << 1; ............. } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.239.43 ※ 編輯: GooLoo 來自: 220.135.239.43 (07/10 21:40)
Deltaguita:宣告一個變數 用LSB去or你的PX_X 然後左移一個BIT 07/10 21:40
Deltaguita:以上是我所想到最直接的方式 C有一種東西叫做集合 07/10 21:41
Deltaguita:或許你可以試試看 07/10 21:41
※ 編輯: GooLoo 來自: 220.135.239.43 (07/10 22:01)
GooLoo:to Del: 聽起來跟我後面寫的一樣?你用OR我用AND? 07/10 22:02
GooLoo:阿!D大講的 好像才是對的! 07/10 22:07
kikiqqp:這時候組語就比C直覺且方便多了 :P 07/11 10:41