前言
STM32F407ZGT6使用串口通信发送指令给传感器,让传感器返回测得的数据。
1.过程
大家看我这个程序,在main函数前面我定义了一个read_instruction数组,存放读取传感器的指令,在while循环中有一个按键检测,当按下key0的时候,单片机发送这个指令给传感器,理论上传感器接收到指令会返回测量的数据,但switch下面的这个if语句跳过了,说明if(USART_RX_STA&0x8000)没满足条件,也就是USART_RX_STA没有变成1。
首先确认我传感器没问题,如下图:
用串口助手发送16进制11 02 07 DB给传感器返回这串数据(共56个数据),所以传感器没问题。
其次是代码有没有问题,如下