作者GooLoo (平凡)
看板ASM
標題[問題] struct
時間Tue Jul 10 21:17:23 2012
請問一下,我有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