#申请原创#
之前只测试了使用printf函数进行串口发送数据,本次测试的是通过串口中断接收数据,然后再将接收到的数据发送回去。在之前的MCC配置时已经配置了串口接收中断,发送中断没有必要使用,所以也没有配置,详见下图:
在usart0.c文件中找到USART0_DefaultRxIsrCb()函数,这是中断接收函数,因为没有找到调用说明,我就用自己的代码来处理了。首先我的main.c中定义了一个接收长度变量和一组接收数组,然后在主循环中对接收长度的变量进行判断,若长度大于0则表示接收到了数据,并将接收到的数据依次发送回去:
在usart0.c文件的USART0_DefaultRxIsrCb()函数中添加将接收到的数据保存了缓存数组中的代码:
下面是USART0_DefaultRxIsrCb()函数的完整代码,我没看明白其含义。用我自己添加的代码顺利达到了中断接收的目的:
这是通过串口调试助手进行测试的动画,输入字符后点击“发送”,立即就收到返回的信息:
|