完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本帖最后由 悠悠飞雪 于 2013-11-9 00:11 编辑
11-06 前两天偷懒了,一直没进度,表示很惭愧,今天完成了野火教程ADC的实验,但怎么也提不起劲,怎么说呢,虽然程序能运行,但怎么觉得这不是自己的东西,库这东西总不能一直指望着有人出教程吧,论坛上总是有大神说要学会看官方文档,文档一般都是英文的,这还好说,勉勉强强能看懂什么意思,但总是找不到自己想要的,比如说库函数手册,虽然有例子和函数的用途等,但真正具体的用法和注意还是没有,这让人很纠结,所以呢,有时候我就觉得还没有直接在源码中找方便呢。另一方面,总是跟着教程的思想走,根本没有什么新的思路,新的想法,很不爽,很纠结。 还是回过头来说说今天的ADC吧,用库的话基本方法,和以前的大同小异,无非是ADC对应的GPIO配置,ADC的模式配置,只要按需要进行配置就行,还有DMA的配置,都有结构体定义进行初始化,最后开启ADC,DMA通道,校准ADC寄存器就行的,输出无非就是printf,数值可以声明个外部变量用于DMA将ADC的采样数据存放起来,在main中调用。只用了一个ADC,功能很简单。 至于错误,除了一些拼写错误不说,我还犯了很二很二的一个错误,USART实验时记着再用到printf的时候需要勾选工程选项里的USE MicroLIB,这次居然忘了,整了好长时间,具体表现是,不管怎么办,就算是在printf之前点亮LED都点亮不了,并且生成的文件巨大。 还有个不太明白的问题,再用printf传输的时候整个程序的第一个字符,会丢失。不知道是库的问题,还是串口助手的问题。 11-08 内部温度传感器也是ADC实验,用了十几分钟,改造测试了下,只用在上个程序的基础上稍微稍微改造了一下就可以了,主要是ADC的外部GPIO不需要了,修改下ADC通道为16,在ADC的初始化中加了句ADC_TempSensorVrefintCmd(ENABLE);用来开启内部温度传感器,其实就是STM32参考手册中说的第三步,设置 ADC 控制寄存器 2(ADC_CR2)的 TSVREFE 位,以唤醒关电模式下的温感器,可以去到ADC_TempSensorVrefintCmd的定义中查看。 第三个程序中有加入了中断,输入字符型的1~9可以产生对应行数的信息,没什么意思。 |
|
相关推荐
17 个讨论
|
|
|
#在这里快速回复#很好啊!技术支持,谢谢分享,学习了!
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:57 , Processed in 1.135439 second(s), Total 88, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7553