【HMGD】使用CubeMx配置GD32F303系列单片机进行DMA ADC

原理图查看

查原理图可以看到GD32F103C8T6的官方开发板GD32303C-START-V1.0的PA1没有接任何东西

使用PA1作为ADC端口

CubeMX配置ADC和时钟

配置ADC通道

启用循环模式

配置此通道ADC分频

配置ADC DMA为循环模式

配置时钟

可根据手册配置最大HZ

GD32F303最高频率设定

生成项目

Keil里面的配置

选择对应的GD32型号

编译参数里面,带上-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard

置位CPACR寄存器(0xE000ED88)的第20~23这4个比特位(CP10、CP11)

c 复制代码
(*(volatile uint32_t *)(0xE000ED88)) |= (15 << 20);

编写测试代码

c 复制代码
uint16_t ADC_ByteData[4];
// 启动ADC DMA
HAL_ADC_Start_DMA(&hadc1, (uint32_t *)ADC_ByteData, 1);
c 复制代码
//循环采样
float ADC_Data = 0.0;
while (1)
  {
    /* USER CODE END WHILE */
		
		HAL_Delay(1000);
		
		ADC_Data = (float)ADC_ByteData[0] / 4096.0f * 3.3f ;
		
		printf("AD 0x%04X \r\n", ADC_ByteData[0]);
		printf("AD %f V \r\n", ADC_Data);

    /* USER CODE BEGIN 3 */
  }

运行效果

项目程序下载

https://download.csdn.net/download/hmxm6/89238816

相关推荐
FreakStudio10 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘15 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484916 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150016 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼16 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
wohoo_wangzi16 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘16 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展16 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司16 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑16 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习