还有一个问题I/O口怎么模拟SPI进行通讯

2019-07-18 14:37发布

I/O口怎么模拟SPI进行通讯?火烧眉毛啦!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
shanshushan0
2019-07-19 06:15
那年冬天血 发表于 2015-6-1 13:15
if(temp&0x8000)这个是什么意思?0X8000代表什么?求层主解释

额……我用的MCU是16位的,所以是0X****,而不是0X**。。if(temp&0X8000)这句话是为了检测temp变量的最高位是0还是1,如果是1,那么if判断语句为真,就会发送高电平数据;如果最高位是0,那么if判断语句为假,转而执行else语句,发送低电平数据。因为是16位数据,所以temp每次左移一位共需左移16次才能把一个完整的数据发送完成,这就是for循环语句中16的来源。。。
需要注意的是这段程序是以数据高位先发送为准则的,如果要先发送低位,那么if语句要改成if(temp&0X01),数据左移也要改成右移。

一周热门 更多>