STC轉STM32第一次開發
前言
跳槽進了另個實驗室,老師看上去就是強者(強者髮型🤐)
不過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就這樣吧,先充實自己兩年,現在做的是自己喜歡的,希望能有一個好的結尾。