2回答

0收藏

[评测分享] 【NXP OKdo E1双核Cortex M33开发板】试用7-DMA串口收发数据

#板卡评测 #板卡评测 3101 人阅读 | 2 人回复 | 2020-11-29

今天继续学习串口的使用,因为开发板板载了下载调试器,而且支持串口通讯,所以我们就以下载调试器自带的串口通讯为例。

在原理图中可以看到,下载调试器芯片使用的是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方式的串口通讯。


分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

独活草

发表于 2020-11-30 15:49:30 | 只看该作者

很精彩,请问楼主可以写个操作UART1或者uart2的教程吗?  我尝试了一番失败了
回复 支持 反对

使用道具 举报

板凳

Angel_YY

发表于 2020-12-2 11:00:52 | 只看该作者

独活草 发表于 2020-11-30 15:49
很精彩,请问楼主可以写个操作UART1或者uart2的教程吗?  我尝试了一番失败了 ...

UART1和UART0是一样的啊,设置FXCOMCLK1的时钟,设置FLCXCOMM1的引脚,设置FLCXCOMM1的外设,其他和本帖的试用没有区别了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条