USART中断服务函数中使用printf向串口发送数据
情况:在中断服务函数中接收到一个数据后要做出反应,其中之一为向串口发送接收完成的字符串 使用printf或sprintf会出现程序在此处卡死
网上查阅得原因为printf也是调用中断,中断中不能嵌套中断
解决方法:定义了一个全局变量用来作为标志位
if(SYS_STA & 0x0001)
{
printf("OK Recivedrn");
SYS_STA &= 0xfffe;
}
串口传输时字符识别
传输过来的数据用short接收
现在使用足够大的short数组接收作为缓冲区 以后学更多再补充
接收过来的为一字节的数据
接收的为ASCII码。
USART中断服务函数中使用printf向串口发送数据
情况:在中断服务函数中接收到一个数据后要做出反应,其中之一为向串口发送接收完成的字符串 使用printf或sprintf会出现程序在此处卡死
网上查阅得原因为printf也是调用中断,中断中不能嵌套中断
解决方法:定义了一个全局变量用来作为标志位
if(SYS_STA & 0x0001)
{
printf("OK Recivedrn");
SYS_STA &= 0xfffe;
}
串口传输时字符识别
传输过来的数据用short接收
现在使用足够大的short数组接收作为缓冲区 以后学更多再补充
接收过来的为一字节的数据
接收的为ASCII码。
举报