6.1中断的概念
目录
1.中断的概念
2.中断编程举例
2.1 考虑合并(不合适)
2.2用中断
1.中断的概念
2.中断编程举例
单片机和电脑通过串口连接到一起,通过电脑上的串口调试助手来控制板载LED的闪亮速度
比如发送0,板载LED慢闪,发送1,板载LED正常速度,发送2,板载LED快闪
Tx引脚发送数据,Rx引脚接收数据
只有等RxNE标志位等于1的时候,才调用USART_ReceiveData把这个数据从接收数据寄存器中读出来
2.1 考虑合并(不合适)
在这个while循环里面,只有等到闪灯结束之后,才能从串口中把数据读取出来,这样就会导致串口数据接收的不及时,从而造成数据的丢失。因为如果发送太快,原先的数据还没读出来,新的数据就会覆盖原先的数据。
如果亮灯和灭灯各100ms,也就是200ms。
假设串口的波特率115200(常用),我们使用的串口数据帧格式(1位起始位+8位数据位+1位停止位),也就是每传输10个位,就会传输1个字节,用115200/10=11520,得到串口每秒最多可以接收11520个字节,每个字节接收的时间大约0.1ms左右
这个0.1ms远远小于200ms,如果在闪灯的过程中可能有大量的字节发送到单片机中,而我们只有等到闪灯结束才读取数据,就会覆盖前面的,导致数据丢失
2.2用中断
很多标志位都可以采用中断