0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CW32單片機(jī)做的軟硬件開源項目

strongerHuang ? 來源:CW32生態(tài)社區(qū) ? 2023-10-19 10:17 ? 次閱讀

素材來源 | CW32生態(tài)社區(qū)

經(jīng)常有小伙伴問【哪里有可以參考的開源項目】之類的問題。其實,我不定期都在給大家分享一些優(yōu)秀的開源項目。

今天就再給大家分享一個基于CW32單片機(jī)做的軟硬件開源項目,其中包括RTOS、GUI、藍(lán)牙、電源管理等眾多常用功能。

主要功能

這個產(chǎn)品我收到一個實物,也用了一段時間,但有些功能還沒有完善,不過整體還不錯,用于學(xué)習(xí)或者做項目借鑒完全沒問題。

主要功能包含:

1. 電壓測量+閾值判斷,閾值電平可以根據(jù)需求自行設(shè)定滿足不同邏輯電平的場景,并且保留“簡易邏輯電平測試筆“好用的紅綠燈提示功能;

2. 通斷測量,且閾值電阻可以根據(jù)需求調(diào)整;

3. 二極管測量,點亮一顆二極管(注意!不是三極管?。。。?br />
4. PWM輸出,方便在一些場景下提供一個已知量對系統(tǒng)進(jìn)行測試,也可以對無源蜂鳴器等進(jìn)行測試

5. PWM輸入,可以對頻率進(jìn)行測量(甚至是對串口等數(shù)據(jù)進(jìn)行簡單的解碼顯示等功能,不過目前技術(shù)有限還沒有實現(xiàn))

6. 直流輸出,模擬出一個需要的直流電平進(jìn)行測試。

7. 可以連接擴(kuò)展板進(jìn)行配合測量。

電路設(shè)計

設(shè)計思路:

在對測試筆進(jìn)行設(shè)計時,我把整體分為了五個部分:模擬前端、電源電池管理、單片機(jī)及外設(shè)、顯示屏、用戶控制。根據(jù)模塊化的設(shè)計思路,我們可以在畫電路圖時更加有條理,也可以在進(jìn)行PCBLayout時將布局按照模塊進(jìn)行大致區(qū)分,以便于進(jìn)行走線等操作。

07172a26-6e1f-11ee-939d-92fbcf53809c.png

我們根據(jù)需求對每個部分進(jìn)行細(xì)化設(shè)計,來實現(xiàn)既定目標(biāo)。在下面,將會結(jié)合電路圖和PCB對我的設(shè)計和設(shè)計思路進(jìn)行詳細(xì)的說明。 07381628-6e1f-11ee-939d-92fbcf53809c.png073c7600-6e1f-11ee-939d-92fbcf53809c.png (電源與電池管理) ? 074c5b38-6e1f-11ee-939d-92fbcf53809c.png07560020-6e1f-11ee-939d-92fbcf53809c.png0759b436-6e1f-11ee-939d-92fbcf53809c.png

(單片機(jī)及外設(shè)) 076b5628-6e1f-11ee-939d-92fbcf53809c.png

077a4516-6e1f-11ee-939d-92fbcf53809c.png

07aa9d60-6e1f-11ee-939d-92fbcf53809c.png


(模擬前端)

軟件代碼和調(diào)試

該項目開源地址: https://gitee.com/multifunction_test_pen/test_pen

文件結(jié)構(gòu):

1. GUI --- LCD驅(qū)動和UI

2. FreeRTOS--- RTOS系統(tǒng)

3. USER --- 底層驅(qū)動和app

08513422-6e1f-11ee-939d-92fbcf53809c.png

這里面包括單片機(jī)常見外設(shè)及應(yīng)用代碼,下面給大家看一些代碼。

電池電量測量

BAT_ADC_ResultBuff數(shù)組存儲的是電池采集的ADC值。 1.計算BAT_ADC_ResultBuff數(shù)組的平均值,去掉最大最小值,防止數(shù)據(jù)突變。 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;
}
占空比調(diào)節(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 */ 
}
界面顯示

界面顯示包含了顯示內(nèi)容和功能檢測.

085e02c4-6e1f-11ee-939d-92fbcf53809c.png

為了方便測試,這里還引入了上位機(jī)工具,比如使用虛擬儀器軟件進(jìn)行測量:

0861c47c-6e1f-11ee-939d-92fbcf53809c.png

示波器顯示:

086fe6ce-6e1f-11ee-939d-92fbcf53809c.png


審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44375

    瀏覽量

    628288
  • 電源管理
    +關(guān)注

    關(guān)注

    115

    文章

    6098

    瀏覽量

    143330
  • 軟硬件
    +關(guān)注

    關(guān)注

    1

    文章

    282

    瀏覽量

    19146
  • RTOS
    +關(guān)注

    關(guān)注

    20

    文章

    804

    瀏覽量

    119112
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    168

    瀏覽量

    500

原文標(biāo)題:集RTOS、GUI、藍(lán)牙、電源管理等一體的軟硬件開源項目(值得收藏學(xué)習(xí))

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    AVR單片機(jī)軟硬件設(shè)計教程入門篇

    AVR單片機(jī)軟硬件設(shè)計教程入門篇單片機(jī)就是一臺微型電腦。麻雀雖小,五臟俱全,單片機(jī)將微型電腦的所有基本部分都集成在一片硅片上。構(gòu)成單片機(jī)的基
    發(fā)表于 12-09 15:22

    承接各種單片機(jī)系統(tǒng)的軟硬件開發(fā)項目,以及單片機(jī)反匯編項目

    十年以上單片機(jī)軟硬件開發(fā)經(jīng)驗,精通C/C++和匯編。熟悉串口,USB,CAN等各種通信技術(shù)。承接各種單片機(jī)系統(tǒng)的軟硬件開發(fā)及反匯編項目(深圳
    發(fā)表于 11-28 10:56

    【高手問答】從事單片機(jī)軟硬件開發(fā)15年的工程師們,與您探討單片機(jī)軟硬件設(shè)計

    `編者導(dǎo)讀:本期我們邀請了單片機(jī)/MCU 版主@張飛電子學(xué)院蔡琰 @張飛電子學(xué)院張角 @張飛電子學(xué)院黃忠,來解答大家在單片機(jī)/MCU設(shè)計上遇到的問題。高手簡介:黃忠:張飛實戰(zhàn)電子FOC和硬件課程講師
    發(fā)表于 03-02 16:58

    CW32飯盒派開發(fā)板試用體驗】+機(jī)械臂游戲項目開源)(5)加紅外游戲操控機(jī)

    /jishu_2353352_1_1.html 【CW32飯盒派開發(fā)板試用體驗】+機(jī)械臂游戲項目開源)(4)多加點東西 - 單片機(jī)/MCU論壇 - 電子技術(shù)論壇- 廣受歡迎的專業(yè)電子
    發(fā)表于 05-24 22:27

    單片機(jī)測控系統(tǒng)的軟硬件平臺技術(shù)

    本文探討了一種用于工業(yè)測控系統(tǒng)的單片機(jī)軟硬件綜合設(shè)計方法——軟硬件平臺技術(shù),重點闡述了其基本原理、設(shè)計思想、實現(xiàn)方法,并給出了一個單片機(jī)測控系統(tǒng)軟硬
    發(fā)表于 08-13 09:38 ?12次下載

    AVR單片機(jī)軟硬件學(xué)習(xí)教程

    AVR單片機(jī)軟硬件學(xué)習(xí)教程 o第一講:單片機(jī)及其開發(fā)工具簡介 o第二講:AVR硬件電路設(shè)計教程 o第三講:AVR開發(fā)環(huán)境的建立,數(shù)字邏輯與C語言程序設(shè)計基礎(chǔ)知識 o第四講:流水燈、蜂鳴
    發(fā)表于 11-30 15:36 ?524次下載
    AVR<b class='flag-5'>單片機(jī)</b><b class='flag-5'>軟硬件</b>學(xué)習(xí)教程

    單片機(jī)系統(tǒng)軟硬件調(diào)試及維修技術(shù)

    單片機(jī)系統(tǒng)軟硬件調(diào)試及維修技術(shù),快來下載吧
    發(fā)表于 09-01 18:17 ?0次下載

    深度:單片機(jī)到底是如何軟硬件結(jié)合的?

    分析單片機(jī)到底是如何軟硬件結(jié)合的。并通過一個基本的程序,分析單片機(jī)程序的編譯,運(yùn)行。
    發(fā)表于 02-08 16:29 ?2次下載
    深度:<b class='flag-5'>單片機(jī)</b>到底是如何<b class='flag-5'>軟硬件</b>結(jié)合的?

    深度:單片機(jī)到底是如何軟硬件結(jié)合的?

    本文我們將分析單片機(jī)到底是如何軟硬件結(jié)合的,并通過一個基本的程序,分析單片機(jī)程序的編譯,運(yùn)行。
    發(fā)表于 02-08 16:53 ?7次下載
    深度:<b class='flag-5'>單片機(jī)</b>到底是如何<b class='flag-5'>軟硬件</b>結(jié)合的?

    cw32和stm32的區(qū)別

    cw32和stm32的區(qū)別 CW32和STM32是兩種常見的單片機(jī),被廣泛應(yīng)用于各種電子設(shè)備中。在本文中,我們將深入探討CW32和STM32之間的區(qū)別和優(yōu)劣勢。 1.
    的頭像 發(fā)表于 08-16 11:15 ?3501次閱讀

    CW32單片機(jī)低電壓檢測器的使用介紹

    CW32單片機(jī)低電壓檢測器的使用介紹
    的頭像 發(fā)表于 09-18 10:56 ?886次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>低電壓檢測器的使用介紹

    CW32單片機(jī)UART波特率設(shè)置介紹

    CW32單片機(jī)UART波特率設(shè)置介紹
    的頭像 發(fā)表于 10-24 17:35 ?739次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>UART波特率設(shè)置介紹

    CW32單片機(jī)UART基本數(shù)據(jù)收發(fā)功能介紹

    CW32單片機(jī)UART基本數(shù)據(jù)收發(fā)功能介紹
    的頭像 發(fā)表于 10-24 16:50 ?619次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>UART基本數(shù)據(jù)收發(fā)功能介紹

    CW32單片機(jī)I2C接口讀寫EEPROM芯片介紹

    CW32單片機(jī)I2C接口讀寫EEPROM芯片介紹
    的頭像 發(fā)表于 11-09 17:42 ?870次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>I2C接口讀寫EEPROM芯片介紹

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    和調(diào)節(jié)。本文將介紹CW32單片機(jī)在智能馬桶的詳細(xì)應(yīng)用。圖:CW32的智能馬桶控制板CW32單片機(jī)在智能馬桶的應(yīng)用介紹1.溫度感應(yīng)與控制智能馬
    的頭像 發(fā)表于 12-20 10:09 ?458次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>在智能馬桶的應(yīng)用介紹