AI8A8K64D4管脚动态切换问题
我现在用8个管脚, 对应8个继电器.现在遇到硬件有的地方会虚焊, 导致有的继电器不能控制
所以我想把用到的管脚存在数组里, 动态的去切换,
比如P01, P02, P03, P04, P05, P06, P07, P08, 存到一个数组里, 然后根据eeprom里存储的顺序去切换,
请问这个sbit, 我该怎么存储数组比较好? 也没看到具体sbit的定义? 用u8 pin = {P01, P02, P03, P04, P05, P06, P07, P08}; 可以吗?
/*P0*/
sbitP01 = P0^1;
sbitP02 = P0^2;
sbitP03 = P0^3;
sbitP04 = P0^4;
sbitP05 = P0^5;
sbitP06 = P0^6;
sbitP07 = P0^7;
请问下, 这个sbit是在哪里定义的?
具体是bit? 还是u8? 还是什么东东? 头文件里,可以存储一个字节代表P0.
0x01,0b00000001,对应P00 为 1,P0其它为0.
0x03,0b00000011, 对应P00 P01为1,P0其它为0. sbit是对sfr的位声明,不能这样使用
像刚才帖子中提到的,访问IO口就是读写SFR
控制继电器,IO作为输出,只能写成P0=0xXX这种形式
你需要做的是控制XX的值
思路如下
u8 pin = {3, 2, 1, 0, 7, 6, 5, 4}; //自定义顺序
P0|=(0x01<<pin); //P03置1
P0&=~(0x01<<pin); //P03置0
……
P0|=(0x01<<pin); //P04置1
P0&=~(0x01<<pin); //P04置0
自定义顺序中的8个字节保存到EEPROM
页:
[1]