stm32串口中断接收问题----问题是,接收不到输入数据。 stm32串口接收数据问题
stm32串口中断接收问题----问题是,接收不到输入数据。
程序思路是这样的,进入中断后:
接收陀螺仪的数据,如果收到的第一个字节不是0x55,就不接收。。此时counter是不增加的。。
如果接收到的第一个字节是0x55,counter自增,收到的数据暂存至 Temp。。。
当 counter自增到11时,将Temp收到的数据存至Re_buf,同时counter清零,sign置1
第一行的意思是 表示 如果接收寄存器非空,即有数据,那么判断为接收中断
第五行 是跳出中断
stm32串口接收数据问题
试试定义flag变量时使用volatile,这个变量在中断和主程序中都是用了,例如
volatile uint8_t flag=0中断程序所在文件
extern volatile uint8_t flag 上述应该不是主要原因,因为两个led灯都亮了,说明进入了串口接收中断,使flag=1,
可以这样,把中断里关于led的操作都注释掉,没意义时间太短,这样没接受到数据led全灭,接收到数据led全亮