这个想法是从端口读取任何位。 无论如何,访问一个已知位很简单,例如
P0_0 <-- gets bit 0 from port 0
但是如果我需要通过函数访问位 y 呢?
read_bit(__bit y){
return P0_y; // <-- just an idea but its not right becouse of syntax.
}
使用SDCC编程和8051头。
最佳答案
如果它是一个文字常量,您可以使用宏技巧:
#define READ_P0_BIT(BIT) (P0_ ## BIT)
unsigned x = READ_P0_BIT(1);
如果它不是文字常量,您可以这样做:
int readP0bit(int bitNo)
{
switch (bitNo)
{
case 0: return P0_0;
case 1: return P0_1;
// ...
case 7: return P0_7;
default: return 0;
}
}
关于c - 8051 Controller 端口位读/写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12722927/