素材來源 | CW32生態(tài)社區(qū)
經常有小伙伴問【哪里有可以參考的開源項目】之類的問題。其實,我不定期都在給大家分享一些優(yōu)秀的開源項目。
今天就再給大家分享一個基于CW32單片機做的軟硬件開源項目,其中包括RTOS、GUI、藍牙、電源管理等眾多常用功能。
主要功能
這個產品我收到一個實物,也用了一段時間,但有些功能還沒有完善,不過整體還不錯,用于學習或者做項目借鑒完全沒問題。
主要功能包含:
1. 電壓測量+閾值判斷,閾值電平可以根據需求自行設定滿足不同邏輯電平的場景,并且保留“簡易邏輯電平測試筆“好用的紅綠燈提示功能;
2. 通斷測量,且閾值電阻可以根據需求調整;
3. 二極管測量,點亮一顆二極管(注意!不是三極管?。。。?;
4. PWM輸出,方便在一些場景下提供一個已知量對系統(tǒng)進行測試,也可以對無源蜂鳴器等進行測試
5. PWM輸入,可以對頻率進行測量(甚至是對串口等數(shù)據進行簡單的解碼顯示等功能,不過目前技術有限還沒有實現(xiàn))
6. 直流輸出,模擬出一個需要的直流電平進行測試。
7. 可以連接擴展板進行配合測量。
設計思路:
在對測試筆進行設計時,我把整體分為了五個部分:模擬前端、電源與電池管理、單片機及外設、顯示屏、用戶控制。根據模塊化的設計思路,我們可以在畫電路圖時更加有條理,也可以在進行PCBLayout時將布局按照模塊進行大致區(qū)分,以便于進行走線等操作。
我們根據需求對每個部分進行細化設計,來實現(xiàn)既定目標。在下面,將會結合電路圖和PCB對我的設計和設計思路進行詳細的說明。 (電源與電池管理) ?
(單片機及外設)
(模擬前端)
軟件代碼和調試
該項目開源地址: https://gitee.com/multifunction_test_pen/test_pen
文件結構:
1. GUI --- LCD驅動和UI
2. FreeRTOS--- RTOS系統(tǒng)
3. USER --- 底層驅動和app
這里面包括單片機常見外設及應用代碼,下面給大家看一些代碼。
電池電量測量
BAT_ADC_ResultBuff數(shù)組存儲的是電池采集的ADC值。 1.計算BAT_ADC_ResultBuff數(shù)組的平均值,去掉最大最小值,防止數(shù)據突變。 2.將計算的平均值。
uint16_t get_bat_val(void) { uint32_t sum = 0; uint16_t bat_val; uint32_t len = sizeof(BAT_ADC_ResultBuff) / 2; uint16_t max = 0; uint16_t min = 0xffff; int i; for ( i = 0; i < len; i++) { sum += BAT_ADC_ResultBuff[i]; if(BAT_ADC_ResultBuff[i] > max) { max = BAT_ADC_ResultBuff[i]; } if(BAT_ADC_ResultBuff[i] < min) { min = BAT_ADC_ResultBuff[i]; } } sum -= max + min; sum = sum / (len - 2); sum = dynamic_mean(bat_cahe,sum,len_cahe); // sum -= 30; bat_val = sum * 2500 * 2 /4095; return bat_val; }占空比調節(jié)
占空比修改在PWM中斷里面修改,只需要改變PosWidth值。
void GTIM1_IRQHandler(void) { static uint16_t TimeCnt = 0; GTIM_ClearITPendingBit(CW_GTIM1, GTIM_IT_OV); if (TimeCnt++ >= 100) { TimeCnt = 0; GTIM_SetCompare1(CW_GTIM1, PosWidth); } /* USER CODE END */ }界面顯示
界面顯示包含了顯示內容和功能檢測.
為了方便測試,這里還引入了上位機工具,比如使用虛擬儀器軟件進行測量:
示波器顯示:
審核編輯:湯梓紅
-
單片機
+關注
關注
6035文章
44554瀏覽量
634621 -
電源管理
+關注
關注
115文章
6177瀏覽量
144443 -
軟硬件
+關注
關注
1文章
294瀏覽量
19198 -
RTOS
+關注
關注
22文章
811瀏覽量
119593 -
CW32
+關注
關注
1文章
203瀏覽量
626
原文標題:集RTOS、GUI、藍牙、電源管理等一體的軟硬件開源項目(值得收藏學習)
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論