void WriteCommand(unsigned char c) //дÃüÁÊý { uchar i,x,temp; x=0; for(i=0;i<8;i++) { temp=c & 0x01; c>>=1; x=x |temp; if(i<7) x<<=1; }
时间: 2023-06-21 19:12:14 浏览: 131
I2C_LCD-head-file.rar_I2C head file_head
这是一个写入命令的函数,参数c是一个无符号字符(8位),函数会将它转化成一个可以发送给外部设备的串行数据。具体实现如下:
1. 初始化一个变量x,用来存储转换后的串行数据。
2. 用for循环将c的每一位都转换成串行数据。循环8次,因为c是8位的无符号字符。
3. 第i次循环,取出c的最低位,并把c右移一位。
4. 把取出的最低位temp加到x的最低位上。
5. 如果不是最后一次循环,则把x左移一位,为下一次循环做准备。
6. 循环结束后,x中存储的数据就是c的串行数据。
阅读全文