CH32V103系列是以青稞V3A处理器为核心的32位通用MCU,该处理器是基于RISC-V开源指令集设计。 片上集成了时钟安全机制、多级电源管理、通用DMA控制器。 此系列具有1路USB2.0主机/设备接口、多通道12位ADC转换模块、多通道TouchKey、多组定时器、多路IIC/USART/SPI接口等丰富的外设资源。
本章将讲解DMA外设到存储器传输方式。 使用串口1作为外设,通过串口调试助手等向开发板发送数据,数据会被返回给开发板并通过串口调试助手显示。
1、DMA简介及相关函数介绍
关于DMA以及相关函数介绍在在第十三章以及第二十七章已讲解,在此不再介绍。 关于DMA具体介绍,可参考CH32V103应用手册。
2、硬件设计
本章教程所用资源均为CH32V103开发板内部资源,无需进行其他硬件连接,只需进行程序配置即可。
3、软件设计
本章主要进行外设到存储器的DMA数据传输方式,其相较于存储器到存储器的传输方式,程序中对DMA配置进行一些修改即可。 此外,本章还需用到串口1,在第三章基础上进行修改即可,即将串口2修改为串口1,以及对中断服务函数进行一些修改,具体如下:
关于串口1中断服务函数:
dma.h文件
dma.h文件主要进行宏定义及相关函数声明;
dma.c文件
4、下载验证
将编译好的程序下载到开发板并复位,然后通过串口调试助手向单片机发送数据,单片机接收数据并通过串口调试助手显示,具体如下:
全部0条评论
快来发表一下你的评论吧 !