【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)

(*(volatile uint32_t *)(0xE000ED88)) |= (15 << 20);

在这里插入图片描述

编写测试代码

uint16_t ADC_ByteData[4];
// 启动ADC DMA
HAL_ADC_Start_DMA(&hadc1, (uint32_t *)ADC_ByteData, 1);
//循环采样
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/661146.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle系统参数调整【数据库实例优化系列一】

Oracle实例是:内存组件和相关的后台进程组成。这些内存组件提高了数据库的运行,而后台进程负责管理系统和内存组件。 一、SGA和实例优化 Oracle的SGA是指的系统全局区。sga是数据库运行期间使用的一段公有内存,即数据库用户都可以访问这段内存,包括: 共享池、重做日志缓冲…

第2节:UIOTOS前端零代码应用 蓝图连线 信号值变化小示例02

目标 通过连线&#xff0c;实现信号值随机变化。 最终效果 实现过程 步骤1&#xff1a;接11节&#xff0c;选中底板设置其背景颜色 步骤2&#xff1a;拖入普通按钮V2组件&#xff0c;设置“text”值为“1”&#xff0c;并做form绑定 步骤3&#xff1a;选中按钮对输入框进行交…

宠物领养|基于SprinBoot+vue的宠物领养管理系统(源码+数据库+文档)

宠物领养目录 基于Spring Boot的宠物领养系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1前台 1.1 宠物领养 1.2 宠物认领 1.3 教学视频 2后台 2.1宠物领养管理 2.2 宠物领养审核管理 2.3 宠物认领管理 2.4 宠物认领审核管理 2.5 教学视频管理 四、…

『FPGA通信接口』DDR(3)DDR3颗粒读写测试

文章目录 前言1.配套工程简介2.测试内容与策略3. 测试程序分析4.程序结果分析5.一个IP控制两颗DDR36.传送门 前言 以四颗MT41K512M16HA-125AIT颗粒为例&#xff0c;介绍如何在一块新制板卡上做关于DDR3的器件测试。前面两篇介绍了什么是DDR&#xff0c;并介绍了xilinx给出的FPG…

使用RTSP将笔记本摄像头的视频流推到开发板

一、在Windows端安装ffmpeg 1. 下载ffmpeg:下载ffmpeg 解压ffmpeg-master-latest-win64-gpl.zip bin 目录下是 dll 动态库 , 以及 可执行文件 ;将 3 33 个可执行文件拷贝到 " C:\Windows " 目录下 ,将所有的 " .dll " 动态库拷贝到 " C:\Windows\Sy…

在AndroidStudio创建Flutter项目并运行到模拟器

1.Flutter简介 Flutter是Google开源的构建用户界面&#xff08;UI&#xff09;工具包&#xff0c;帮助开发者通过一套代码库高效构建多平台精美应用&#xff0c;支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费&#xff0c;拥有宽松的开源协议&#xff0c;适合商…

支付宝小程序云租赁行业解决方案,支付宝租赁小程序源码-查征信-人脸验证-电子签合同接口

本文来自&#xff1a;支付宝小程序云租赁行业解决方案&#xff0c;支付宝租赁小程序源码-查征信-人脸验证-电子签合同接口 - 源码1688 业务痛点 某个国内领先的租赁头部商户&#xff0c;提供以消费电子为主的租赁交易服务&#xff08;自营三方入驻&#xff09;&#xff0c;在租…

ROS1快速入门学习笔记 - 10服务数据的定义和使用

目录 一、服务模型&#xff08;客户端/服务器&#xff09; 二、自定义服务数据 1. 定义srv文件 2. 在package.xml中添加功能包依赖 3. 在CMakeLists.txt添加编译选项 4. 编译生成语言相关文件 5. 配置服务器/客户端代码编译规则 6. 编译并运行程序 7. Python文件 一…

ARM学习(27)链接库依赖学习(二)dlopen failed:library xxxx.so

笔者继续学习一下链接的依赖库。 1、起因 Android下面需要需要一个日志解码库&#xff0c;所以笔者就编译了一个parse.so来进行解码&#xff0c; 编译器&#xff1a;Clang&#xff0c;基于llvm后端的编译器平台&#xff1a;交叉编译&#xff0c;linux -> aarch64 linux An…

227. 基本计算器 II

227. 基本计算器 II 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;_227基本计算器II_单栈直接算_227基本计算器II_双栈 错误经验吸取 原题链接&#xff1a; 227. 基本计算器 II https://leetcode.cn/problems/basic-calculator-ii/ 完…

ubuntu入门

基础命令 cd 切换命令 ls 查看当前目录下所有的文件 cp a.c b.c 拷贝a.c 到 b.c touch a.c 创建a.c文件 mkdir file 创建文件夹file rm file 删除文件 rmdir 删除test文件夹 rmdir test/ mv 移动文件 mv a.c b.c 把a.c 替换成b.c ifconfig 查看电脑网络信息 rm xx 删…

C/C++基础语法练习 - ASCII码(新手推荐阅读✨)

题目链接&#xff1a;https://www.starrycoding.com/problem/159 题目描述 给一个仅包含大小写字母和数字的字符串&#xff0c;请输入它的每个字符对应的ASCII码。 输入格式 一行输入一个字符串 S ( 1 ≤ ∣ S ∣ ≤ 1000 ) S(1 \le |S| \le 1000) S(1≤∣S∣≤1000)。 输…