今天的总结
天杀的男朋友! 还是学习不负我
ATM32的ADC
为了完成任务,在原来的基础上优化ADC驱动代码和配置文件。
我做了哪些工作:
首先,八一八正点原子资源库有没有相关代码,发现还真有,而且还有详细的配置说明“《实验14 ADC实验》”。对比手里的代码发现,基本配置一致。但是多出了一些关于DMA的代码,对于P都不懂的正宗小白来说,这让我思考了一瞬间就立马跳过。然后就是原子哥配置的信号通道是channel1,GPIO用的PA1;原版代码中是channel8,PB0。不巧的是板子上外设LCD用到PB0做背光控制,所以代码下板之后程序正常运行但是LCD屏始终黑屏。但是奇怪的是我换成通道7后(PA7)LCD一样黑屏。这这?后来测试了通道1、2、3都正常显示。
其次,原子哥说不能测5V电压,会把adc烧坏,我疑惑了,去查查发现是这样的:
~~如果将VREF+和VDDA接24V,就可以测量024V的电压了。~
顺便了解了一下什么是DMA:
DMA(Direct Memory
Access)——直接存储器存取,就像其名称一样,DMA的主要作用是搬数据,DMA可以把数据从存储器搬到外设、从外设搬到存储器、从存储器搬到存储器。DMA的特殊之处就是搬运数据不需要占用CPU,DMA控制器包含了DMA1和DMA2,其中DMA1由7个通道,DMA2有5个通道。
————————————————
版权声明:本文为CSDN博主「Aspirant-GQ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43743762/article/details/98059102
原代码中用到了通道1,正是ADC1外设对应的通道口。
目前的工作基本上解决了我对ADC配置的一些理解障碍。
还有其他问题:
可以用PWM波控制电滚筒吗,如何编写程序控制滚筒转呢?
eeprom的配置是怎样的?
还有其他问题等待明天解决。。
静下心来想想男朋友其实还不错,偶尔还给我唱个歌,虽然经常失踪,算了凑合着吧。