RM新时代网站-首页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于CW32單片機做的軟硬件開源項目

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

素材來源 | 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ū)分,以便于進行走線等操作。

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

我們根據需求對每個部分進行細化設計,來實現(xiàn)既定目標。在下面,將會結合電路圖和PCB對我的設計和設計思路進行詳細的說明。 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

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

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

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


(模擬前端)

軟件代碼和調試

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

文件結構:

1. GUI --- LCD驅動和UI

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

3. USER --- 底層驅動和app

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

這里面包括單片機常見外設及應用代碼,下面給大家看一些代碼。

電池電量測量

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 */ 
}
界面顯示

界面顯示包含了顯示內容和功能檢測.

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

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

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

示波器顯示:

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


審核編輯:湯梓紅

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

    關注

    6035

    文章

    44554

    瀏覽量

    634621
  • 電源管理
    +關注

    關注

    115

    文章

    6177

    瀏覽量

    144443
  • 軟硬件
    +關注

    關注

    1

    文章

    294

    瀏覽量

    19198
  • RTOS
    +關注

    關注

    22

    文章

    811

    瀏覽量

    119593
  • CW32
    +關注

    關注

    1

    文章

    203

    瀏覽量

    626

原文標題:集RTOS、GUI、藍牙、電源管理等一體的軟硬件開源項目(值得收藏學習)

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AVR單片機軟硬件設計教程入門篇

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

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

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

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

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

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

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

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

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

    AVR單片機軟硬件學習教程

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

    單片機系統(tǒng)軟硬件調試及維修技術

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

    深度:單片機到底是如何軟硬件結合的?

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

    深度:單片機到底是如何軟硬件結合的?

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

    cw32和stm32的區(qū)別

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

    CW32單片機低電壓檢測器的使用介紹

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

    CW32單片機UART波特率設置介紹

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

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

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

    CW32單片機I2C接口讀寫EEPROM芯片介紹

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

    CW32單片機在智能馬桶的應用介紹

    和調節(jié)。本文將介紹CW32單片機在智能馬桶的詳細應用。圖:CW32的智能馬桶控制板CW32單片機在智能馬桶的應用介紹1.溫度感應與控制智能馬
    的頭像 發(fā)表于 12-20 10:09 ?606次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機</b>在智能馬桶的應用介紹
    RM新时代网站-首页