【NXP OKdo E1双核Cortex M33开发板】-DMA串口收发数据
转自:Angel_YY
今天继续学习串口的使用,因为开发板板载了下载调试器,而且支持串口通讯,所以我们就以下载调试器自带的串口通讯为例。
在原理图中可以看到,下载调试器芯片使用的是LPC11U35,其USB接口与上位机直接连接,而其PIO0_18和PIO0_19则以串口通讯的方式链接到了LPC55S69。
在LPC55S69中使用PIO0_29和PIO0_30与下载调试器之间建立串口通讯。所以我们只需要只是用LPC55S69的这两个引脚接收和发送串口信息就可以与上位机的串口进行通讯了。
从LPC55S69的模块图中可以看到芯片内置了两个DMA控制器,我们利用DMA0来实现串口DMA传输。
在新建工程中选择驱动usart_dma,其他依赖的驱动会自动选中。
在系统时钟配置中,配置FXCOMCLK0的时钟为12MHz。
配置管教配置的外设信号配置中,FLEXCOMM0中选择RXD和TXD分别为PIO0_29,PIO0_30。
配置外设选中DMA0和FLEXCOMM0,按照上图配置,主要是设置USART的时钟源,频率,波特率等信息。
在DMA相关配置中,配置DMA回调函数名称,这里设置为USART_UserCallback。
返回到源代码后可以看到系统外设初始化的所有内容。
在主函数所在文件定义一些变量,同时实现回调函数USART_UserCallback。
在主函数中实现接收USART数据并返送回去。
下载程序到开发板后链接开发板到电脑USB端口,在上位机启动串口调试助手,打开串口后复位开发板,可以看到开发板发送了字符串到上位机,同时在上位机一次性发送8个字符,开发板会回送到上位机,这样就实现了DMA方式的串口通讯。
|