1设计要求
利用ADC的第14通道对开发板上单圈电位器的电压值作AD转换,采用连续转换模式,转换结果通过DMA通
道1读取。ADC转换的结果,每间隔1秒钟向串口发送一次。
2 硬件电路设计
在评估板上通用I/O口PC.04与单圈电位器RV1相连,将PC.04映射到ADC第14通道,即可实现利用ADC_IN14
对电位器RV1电压作AD转换。
3软件程序设计
根据设计任务要求,软件程序主要包括:
(1) 配置GPIO口,将PC.04配置为ADC的第14采用通道;将配置GPIO中PA.09和PA.10根引脚为串口输入输出。
(2) 设置ADC,将ADC_IN14设置为连续转换模式;
(3) 配置DMA通道1用于ADC_IN14传输转换的结果;
(4) 配置串口及相关发送功能;
(5) 每隔1S向串口输出AD转换结果。
整个工程包含2个源文件:STM32F10x.s和main.c,其中STM32F10x.s为启动代码,其它函数则在main.c中。具体程序清单见参考程序。注意,在工程中仍然包含了stm32f10x_it.c文件,原因是在启动代码中定义中断向量时使用了stm32f10x_it.c函数的定义函数名,如希望删除stm32f10x_it.c则需在启动代码中删除相应的中断向量定义。
4 运行过程
(1) 使用Keil uVision3 通过ULINK 2仿真器连接实验板,使用STM32V100评估板附带的串口线,连接实验板
上的UART0和PC机的串口,打开实验例程目录ADC_test子目录下的ADC.Uv2例程,编译链接工程;
(2) 在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流
控制);或者使用其它串口通信程序;
(3) 点击MDK 的Debug菜单,点击Start/Stop Debug Session;
(4) 旋转电位器RV1,可以看到串口输出数值不断变化,正常显示结果如下所示。
usart1 print AD_value --------------------------
The current AD value = 0x0425
The current AD value = 0x0423
The current AD value = 0x0421
The current AD value = 0x0422
The current AD value = 0x0420
The current AD value = 0x0416
The current AD value = 0x03B6
The current AD value = 0x0841
The current AD value = 0x08C3
The current AD value = 0x08C0
The current AD value = 0x08BE
The current AD value = 0x09E9
The current AD value = 0x0A12
The current AD value = 0x0ACA
The current AD value = 0x0B0D
The current AD value = 0x0B10
The current AD value = 0x0B0E
....
....
(5)若想通过ITM Viewer来观测Printf数据,则需要加入#define DBG_ITM,并允许ITM跟踪,
详见RTX_Blinky例的说明。本例程中只要取消#define DBG_ITM前的注释符号即可。
(6) 若无评估板,读者也可以使用软件仿真模式来完成程序运行。
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
ADC_STM32.rar (72个子文件)
ADC_test
ADC.uvproj 15KB
ADC_CAN.dep 8KB
STM32DBG.ini 2KB
main.c 12KB
ADC.Uv2.bak 3KB
listing
ADC.map 102KB
stm32f10x_vector.lst 30KB
STM32F10x.lst 31KB
cortexm3_macro.lst 24KB
main.i 78KB
stm32f10x_it.i 68KB
obj
stm32f10x_dma.d 408B
ADC.sct 479B
stm32f10x_can.d 408B
stm32f10x_usart.o 44KB
ADC.axf 120KB
ADC.lnp 326B
stm32f10x_lib.d 0B
uart.o 131KB
stm32f10x_can.crf 36KB
stm32f10x_gpio.d 417B
stm32f10x_adc.crf 40KB
cortexm3_macro.o 2KB
stm32f10x_it.crf 146KB
stm32f10x_gpio.crf 33KB
stm32f10x_systick.o 25KB
stm32f10x_flash.d 365B
main.crf 151KB
stm32f10x_dma.o 39KB
uart.crf 127KB
stm32f10x_systick.crf 19KB
stm32f10x_it.txt 13KB
ADC.plg 163B
stm32f10x_flash.crf 19KB
stm32f10x_dma.crf 32KB
stm32f10x_usart.crf 36KB
stm32f10x_adc.o 51KB
CAN.plg 180B
stm32f10x_flash.o 24KB
stm32f10x_systick.d 381B
ADC.tra 1KB
main.d 2KB
stm32f10x_usart.d 426B
stm32f10x_nvic.crf 28KB
stm32f10x_rcc.d 349B
stm32f10x_nvic.d 357B
stm32f10x_nvic.o 39KB
stm32f10x_adc.d 408B
ADC.hex 13KB
STM32F10x.o 5KB
stm32f10x_it.d 2KB
uart.d 2KB
stm32f10x_rcc.o 40KB
main.o 178KB
stm32f10x_gpio.o 41KB
stm32f10x_rcc.crf 32KB
ADC.htm 50KB
stm32f10x_lib.__i 267B
stm32f10x_lib.crf 58KB
stm32f10x_vector.o 5KB
stm32f10x_it.o 227KB
main.txt 23KB
stm32f10x_it.c 22KB
ADC_Opt.Bak 3KB
stm32f10x_conf.h 6KB
STM32F10x.s 9KB
ADC.uvopt 77KB
ADC_ADC.dep 898B
ADC_Uv2.Bak 3KB
stm32f10x_it.h 3KB
ADC.opt.bak 3KB
readme.txt 2KB
共 72 条
- 1
APei
- 粉丝: 64
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 华为云会议安装包适配华为擎云L410 -1060 ARM架构
- 清空redis缓存脚本指令
- STM8S微控制器-寄存器操作指南
- apk一键安装,获取apk签名信息
- opencv4.8.0+contrib+cuda文件
- 【全网最新最全】大气公司年度月度总结汇报PPT
- C语言实现低功耗STM32F411开发板(原理图+PCB源文件+官方例程+驱动等).zip
- C语言实现基于STM32 的联合调试侦听设备解决方案(原理图、PCB源文件、调试工具、视频).zip
- 【全网最全最酷】部门年度年终工作总结汇报PPT模板
- C语言实现基于STM32F103RC的电子相册(原理图、PCB源文件、程序源码及制作).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0