前言
跳槽进了另个实验室,老师看上去就是强者(强者发型)
不过yysy,做这个,对我这种软转硬,而且专业基础没那么OK的,有点小难
项目
1. 模数转换,并通过OLED屏显示出来
需求:
实验器材:
STM32F4、滑动变阻器、OLED屏(IIC)、面包板、杜邦线若干
接线:
根据原理图以及例程,去找到Channel_5对应的接口,开发板原理图一定要学会看!
STM32 | OLED |
---|---|
3.3V | VCC |
GND | GND |
PD6 | SCL |
PD7 | SDA |
源程序:
蓝奏云
这里选取主程序,传入模拟信号,转化为数字信号,并在OLED上打印出来。
'''
delay_ms(500);
adcx=Get_Adc_Avg(ADC_Channel_5,5);
temp=(float)adcx * (3.3/4096);
printf("temp val:%d\n",adcx);
printf("\n");
printf("temp val:%f\n",temp);
OLED_ShowString(0,0,"MyQQ:",16);
OLED_ShowString(0,2,"1625098483",16);
OLED_ShowString(0,4,"Voltage:",16);
OLED_ShowString(0,6,"0.00V",16);
OLED_ShowNum(0,6,temp,1,16);
delay_ms(5000);
OLED_Clear();
'''
成品:
这个项目没花几个晚上(白天全在外面上课),而且官方给了读取ADC数据和OLED屏的例程,
但官方给的OLED是SPI的,我的是IIC的,这个改了大概两三个晚上。
2. 简易频率计(0.1-10MHZ)
需求:
频率计是来检测信号的频率的,在做频率计的时候可以用信号发生器发出的信号来进行测试。
原理:
对于正弦波/方波,我们从周期的角度来看,连续两个上升沿就是这个波的周期。频率=1/周期
将外部中断的引脚设置为上升沿检测并配置为下拉模式。每次检测到上升沿时,cnt++,这样一秒钟内计数器的值就是频率。
外部中断模式
系统频率 --> 延时函数
定时器+中断器
实验器材:
STM32、数字信号发生器、杜邦线若干
接线:
在源程序里都能看到,这里就不赘述了
源程序:
写在结尾
感觉对硬件没什么天赋,还是更喜欢玩算法,做后端开发一点
主要觉得硬件的基层东西太多了,对新手入门太不友好了,而且看某乎不少嵌入式开发都转去互联网了。(大佬轻喷,希望在评论区留下你的见解)
可能这次硬转软,就再回不去了。
当然,本人专业是电子信息工程,之后可能会稍微更几个有意思的硬件博文。
然后呢,做一些Java学习和算法之类的文章。
emmm就这样吧,先充实自己两年,现在做的是自己喜欢的,希望能有一个好的结尾。