作者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)
1F:→ Deltaguita:宣告一个变数 用LSB去or你的PX_X 然後左移一个BIT 07/10 21:40
2F:→ Deltaguita:以上是我所想到最直接的方式 C有一种东西叫做集合 07/10 21:41
3F:→ Deltaguita:或许你可以试试看 07/10 21:41
※ 编辑: GooLoo 来自: 220.135.239.43 (07/10 22:01)
4F:→ GooLoo:to Del: 听起来跟我後面写的一样?你用OR我用AND? 07/10 22:02
5F:→ GooLoo:阿!D大讲的 好像才是对的! 07/10 22:07
6F:→ kikiqqp:这时候组语就比C直觉且方便多了 :P 07/11 10:41