电子商务网站分类,网站建设佰首选金手指十六,长沙住房和城乡建设部网站,软件开发报价0.91寸OLED屏幕大小的音频频谱#xff0c;炫酷#xff01;
STM32另一个很少人知道的的功能——时钟监测
晶振与软件的关系#xff08;深度理解#xff09;
STM32单片机一种另类的IO初始化方法 ADC是一个十分重要的功能#xff0c;几乎任何一款单片机都会包含这个功能炫酷
STM32另一个很少人知道的的功能——时钟监测
晶振与软件的关系深度理解
STM32单片机一种另类的IO初始化方法 ADC是一个十分重要的功能几乎任何一款单片机都会包含这个功能当然除了部分IO型芯片。本文就通过stm32f103c8t6来学习一下ADC的操作流程以最基本的软件触发ADC模式。
首先找到手册中ADC模块部分如下图就是ADC模块的相关框图可以看到十分繁杂。 那么对于软件触发ADC方式如何操作呢。
如下图就是最基本的ADC采样方式不经过外部触发采样转换完成不触发中断。 接下来一次介绍ADC的操作步骤。以ADC1的通道0为例。
有两个模块必不可少一个是时钟一个是GPIO。时钟存在于RCC模块中。 stm32系列ADC的时钟来源于APB2时钟分频。先把APB2时钟分频到36M然后将ADC时钟分频到12M这样ADC时钟就配置好了。 随后是GPIO的初始化要实现ADC采集功能将对应的GPIO设置成模拟输入模式。
void gpio_init(){ RCC-APB2ENR|(12)|(19);//GPIOA时钟使能 GPIOA-CRL~(0X0F0);//PA0 模拟输入模式 } 接下来就是ADC模块的初始化了
void adc_init(){ ADC1-CR2|(10); ADC1-CR1~(0X0F16);//independent mode //ADC1-CR1~(713);//1个通道 //ADC1-CR1|(111); ADC1-CR1~(18);//扫描模式关闭 ADC1-CR2|(120); ADC1-CR2|(717); ADC1-CR2~(111);//right align ADC1-CR2|(13); while(ADC1-CR2(13)); ADC1-CR2|(12); while(ADC1-CR2(12)); ADC1-CR2~(11); ADC1-SMPR2~(70); ADC1-SQR3~(0X1F0); } 最后是控制ADC采集的过程。
unsigned int start_adc(){ ADC1-CR2|(122);//开始转换 while(!(ADC1-SR(11))); return(ADC1-DR);} 之前介绍过关于OLED的显示功能那么我们就通过OLED将ADC采集到的值显示到OLED上。如下就是实际效果 STM32 软件触发ADC采集 数字电子技术电门电路之万物皆可与非门掌握数字电路核心基础
模拟信号和数字信号区别——其实数字信号是不存在的
0.96寸OLED屏幕控制器SSD1306详解
0.96寸OLED控制器SSD1306其他两种显示模式
STM32 | 精确控制PWM脉冲个数
炫彩LED
微距下的蓝牙耳机
频率与周期的精密控制——用SPI输出PWM脉冲