99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

PIC32MX470 溫濕度計+RTOS+GUI:MHC教程

電子工程師 ? 來源:網(wǎng)絡(luò)整理 ? 2018-02-01 03:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

uCOS-III跑起來了,但是溫濕度計和OLED還沒到,打算用這段空窗期把串口調(diào)出來,順便熟悉一下這塊板卡的外設(shè)。在調(diào)試串口這一點上不得不吐槽一下PIC的開發(fā)板了,以前接觸的大多數(shù)原廠出品的CortexM開發(fā)板(FRDM系列、SAM4N、LPC系列)基本都是將debug接口和調(diào)試串口合成到了一個USB口,有的甚至集成了drag&drop功能,用戶就用一根USB線就可以完成所有的調(diào)試。但是PIC32MX470這塊板子的USB debug口只有debug功能,想用調(diào)試串口只能再接一根USB轉(zhuǎn)TTL的線,不方便。

先在板子自帶的Information sheet上找到串口的管腳,有UART1和UART2,但是無奈我是個硬件老白,連根帶針的杜邦線都沒有,只有兩頭都是孔的,只能用X32接口上的USART2了。

1

1. 首先還是先打開MHC(MPLAB Harmony Configurator),找到串口對應(yīng)的driver選項打開并做相應(yīng)的配置,我的配置如下

2

但是配置之后串口沒有任何輸出,在論壇里搜了相關(guān)的文章后才發(fā)現(xiàn)我這個硬件老白居然連Pin Settings都沒有配就想用串口,后來參考了wudianjun2001大俠文章中串口的配置方法

mod=viewthread&tid=57147&highlight=pic32%2Buart

2. 按Information Sheet中的pin對應(yīng)關(guān)系修改了Pin Configurations如下

3

然后生成代碼,驚喜地發(fā)現(xiàn)使能了RTOS后,生成的USART驅(qū)動代碼中有了mutex的操作。生成的代碼主要包含以下幾個源文件,我為了自己的調(diào)試打印又加了bsp_ser.c這個文件用來輸出字符串

4

學(xué)習(xí)代碼后可知在SYS_Initialize中已經(jīng)根據(jù)用戶的配置調(diào)用了USART相關(guān)的初始化函數(shù)

5

所以使用時只需要直接調(diào)用drv_usart_mapping.c中的其他API就可以了,我添加的bsp_ser.c和bsp_ser.h中的代碼如下

#include “system/common/sys_common.h”

#include “system_config.h”

#include “system_definitions.h”

#include “bsp_ser.h”

static OS_SEM BSP_SerTxWait;

static DRV_HANDLE BSP_SerHandle;

void BSP_Ser_Tx_Callback (const SYS_MODULE_INDEX index);

void BSP_Ser_Init (CPU_INT32U baud_rate)

{

OS_ERR err;

OSSemCreate(&BSP_SerTxWait, “Serial Tx Wait”, 0, &err);

BSP_SerHandle = DRV_USART_Open(DRV_USART_INDEX_0, 0);

DRV_USART_ByteTransmitCallbackSet(BSP_SerHandle, BSP_Ser_Tx_Callback);

DRV_USART_BaudSet(BSP_SerHandle, baud_rate);

}

void BSP_Ser_Tx_Callback (const SYS_MODULE_INDEX index)

{

OS_ERR err;

OSSemPost(&BSP_SerTxWait, OS_OPT_POST_1, &err); /* Post to the semaphore */

}

int BSP_Ser_WrByte (int ch)

{

OS_ERR err;

DRV_USART_WriteByte(BSP_SerHandle, (CPU_INT08U)ch);

OSSemPend(&BSP_SerTxWait, 0, OS_OPT_PEND_BLOCKING, 0, &err);

return ch;

}

void BSP_Ser_WrStr (CPU_CHAR *p_str)

{

OS_ERR err;

if (p_str == (CPU_CHAR *)0) {

return;

}

while ((*p_str) != (CPU_CHAR )0) {

if (*p_str == ASCII_CHAR_LINE_FEED) {

BSP_Ser_WrByte(ASCII_CHAR_CARRIAGE_RETURN);

BSP_Ser_WrByte(ASCII_CHAR_LINE_FEED);

p_str++;

} else {

BSP_Ser_WrByte(*p_str++);

}

}

}

3. 在_SYS_Tasks任務(wù)中添加需要串口打印字符的代碼

6

后來又看了些文章,并做了實驗才發(fā)現(xiàn),其實只需要在MHC中配置好串口生產(chǎn)代碼后就可以使用printf了,根本不需要用戶自己添加其他的驅(qū)動代碼

7

串口和板子按如下方式連接,串口打印正常輸出

161439tonn257xjz07p0o0

最后扯一點題外話,也是上篇文章最后留的一個梗。使能uCOS之后我就隱約地感覺到,用MHC配置工程,幾乎所有的代碼只需要在正確配置后點一下Generate Code按鈕就出來了,留給用戶做的就是按自己的需求寫app的代碼了。這種移植的活兒在以前都是要消耗數(shù)人天甚至數(shù)人周的工作,而現(xiàn)在一個新手也可以簡單地改改配置就將RTOS移植過來(假如MHC做得更好);這讓我不由地感覺到了底層軟件工程師的職業(yè)生涯危機。尤其在添加了USART驅(qū)動之后,更加覺得驅(qū)動的工作就只剩下了在IDE里改配置了,因為到目前為止,芯片手冊我只看過memory map。這樣再發(fā)展些時日是不是就不需要做驅(qū)動和BSP的工程師了?難道這就是人工智能對碼農(nóng)的影響?

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

    關(guān)注

    0

    文章

    5

    瀏覽量

    1895
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    常見的溫濕度傳感器類型?

    溫濕度傳感器是一種用于測量環(huán)境溫度和濕度的設(shè)備,廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、氣象等領(lǐng)域。以下是幾種常見的溫濕度傳感器類型及其優(yōu)缺點: 電容式濕度傳感器 電容式
    發(fā)表于 06-24 09:24

    溫濕度變送器功能有哪些?一文詳細解析

    對于很多行業(yè)來說,精確的測量以及控制溫度和濕度至關(guān)重要。想要達到這個目的,往往需要用到溫濕度變送器。那么,溫濕度變送器究竟有哪些功能呢?下面為大家詳細介紹。 一、精確測量溫濕度
    發(fā)表于 06-03 10:56

    智能倉儲:溫濕度監(jiān)控方案應(yīng)用

    隨著倉儲環(huán)境要求提高,溫濕度監(jiān)控對保障貨物品質(zhì)至關(guān)重要。本文介紹一個工廠倉庫溫濕度監(jiān)控方案,利用溫濕度變送器、LoRa技術(shù)和智能監(jiān)測平臺,為倉庫業(yè)主提供高效、可靠的監(jiān)測解決方案。倉庫溫濕度
    的頭像 發(fā)表于 05-29 11:35 ?275次閱讀
    智能倉儲:<b class='flag-5'>溫濕度</b>監(jiān)控方案應(yīng)用

    用樹莓派RP2350 DIY 桌面動態(tài)溫濕度計

    桌面動態(tài)溫濕度計本文介紹了DFrobotBeetleRP2350開發(fā)板結(jié)合DHT11模塊、鋰電池模塊、隨機眨眼動畫,實現(xiàn)OLED顯示的桌面動態(tài)溫濕度計的項目設(shè)計。一、項目介紹本項目包括工作原理:ADC電壓采集與電量轉(zhuǎn)換工程調(diào)試:電量獲取
    的頭像 發(fā)表于 05-27 08:05 ?197次閱讀
    用樹莓派RP2350 DIY 桌面動態(tài)<b class='flag-5'>溫濕度計</b>

    樹莓派RP2350 - 桌面動態(tài)溫濕度計

    樹莓派RP2350 - 桌面動態(tài)溫濕度計 本文介紹了 DFRobot Beetle RP2350 開發(fā)板結(jié)合 DHT11 模塊、鋰電池模塊、隨機眨眼動畫,實現(xiàn) OLED 顯示的桌面動態(tài)溫濕度計的項目
    發(fā)表于 05-26 02:02

    工廠溫濕度監(jiān)控系統(tǒng)

    在現(xiàn)代化工業(yè)生產(chǎn)環(huán)境中,溫濕度控制是確保產(chǎn)品質(zhì)量、生產(chǎn)效率和員工健康的關(guān)鍵因素之一。隨著科技的進步,工廠溫濕度監(jiān)控系統(tǒng)應(yīng)運而生,通過集成傳感器技術(shù)、數(shù)據(jù)處理與通信技術(shù),對工廠內(nèi)部環(huán)境參數(shù)的實時監(jiān)測
    的頭像 發(fā)表于 02-25 17:11 ?477次閱讀

    庫房溫濕度監(jiān)測系統(tǒng)

    不適宜的溫濕度條件不僅影響貨物品質(zhì),還可能引發(fā)安全事故。例如,濕度過高可能導(dǎo)致霉菌滋生,電路短路,或溫度過低引起的液體凍結(jié)膨脹等,都可能對倉庫設(shè)施及貨物造成損害。庫房溫濕度監(jiān)測系統(tǒng)是現(xiàn)代倉儲管理中
    的頭像 發(fā)表于 01-06 16:37 ?564次閱讀

    農(nóng)業(yè)溫濕度監(jiān)控系統(tǒng)

    農(nóng)業(yè)溫濕度監(jiān)控系統(tǒng)作為現(xiàn)代農(nóng)業(yè)管理工具的重要組成部分,正逐漸改變著傳統(tǒng)農(nóng)業(yè)的生產(chǎn)方式,為農(nóng)作物的生長提供了更為精確和高效的環(huán)境控制手段。 農(nóng)業(yè)溫濕度監(jiān)控系統(tǒng),集成傳感器、網(wǎng)絡(luò)傳輸、智能控制等技術(shù)
    的頭像 發(fā)表于 12-11 16:24 ?537次閱讀

    LORA無線溫濕度監(jiān)測系統(tǒng)

    LORA無線溫濕度監(jiān)測系統(tǒng),作為現(xiàn)代環(huán)境監(jiān)測技術(shù)的重要組成部分,正日益受到各行各業(yè)的廣泛關(guān)注和應(yīng)用。 LORA無線溫濕度監(jiān)測系統(tǒng),利用LORA無線通信技術(shù),對環(huán)境中溫度和濕度的實時監(jiān)測和數(shù)據(jù)傳輸,為
    的頭像 發(fā)表于 11-07 16:57 ?823次閱讀

    溫濕度控制器的功能和應(yīng)用

    溫濕度控制器在電阻柜中的應(yīng)用主要涉及以下幾個方面: 溫濕度控制器的功能 檢測與控制:溫濕度控制器可以同時檢測和控制環(huán)境中的溫度和濕度。它通常由傳感器、控制器和加熱器三部分組成。傳感器負
    的頭像 發(fā)表于 11-07 15:08 ?794次閱讀

    昆侖海岸溫濕度變送器產(chǎn)品介紹

    本系列溫濕度變送器采用高穩(wěn)定傳感器,探測范圍寬,可對溫濕度進行精確測量,使用溫度補償電路,產(chǎn)品工作穩(wěn)定可靠。
    的頭像 發(fā)表于 09-06 11:44 ?802次閱讀

    溫濕度監(jiān)測解決方案

    在現(xiàn)代工業(yè)、農(nóng)業(yè)、醫(yī)療及居家環(huán)境中,溫濕度監(jiān)測已成為保障生產(chǎn)質(zhì)量、提升生活品質(zhì)、確保環(huán)境安全不可或缺的一環(huán)。有效的溫濕度監(jiān)測解決方案,不僅能夠預(yù)防因極端條件引發(fā)的損失,優(yōu)化資源利用,提高整體運營效率
    的頭像 發(fā)表于 09-04 17:16 ?778次閱讀

    溫濕度傳感器怎么調(diào)試

    溫濕度傳感器是一種廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、氣象、科研等領(lǐng)域的傳感器,用于測量環(huán)境的溫度和濕度。在實際應(yīng)用中,溫濕度傳感器的調(diào)試是非常重要的,它直接影響到測量結(jié)果的準(zhǔn)確性和穩(wěn)定性。 一、溫濕度
    的頭像 發(fā)表于 08-19 15:04 ?2349次閱讀

    溫濕度監(jiān)測系統(tǒng)應(yīng)用

    在現(xiàn)代化工業(yè)生產(chǎn)、倉儲管理、農(nóng)業(yè)種植以及智能家居等領(lǐng)域,溫濕度監(jiān)測已成為不可或缺的一環(huán)。溫濕度作為環(huán)境控制的關(guān)鍵因素,直接影響著產(chǎn)品質(zhì)量、存儲安全、作物生長效率以及居住舒適度。因此,一套高效、精準(zhǔn)
    的頭像 發(fā)表于 07-26 16:15 ?907次閱讀

    藥品倉庫溫濕度監(jiān)控系統(tǒng)

    藥品倉庫作為藥品儲存的主要場所,需要特定的溫度和濕度條件,其環(huán)境條件的控制直接影響到藥品的質(zhì)量和療效,以保持其穩(wěn)定性和有效性。因此,建立一個高效、可靠的藥品倉庫溫濕度監(jiān)控系統(tǒng),對于確保藥品的安全儲存
    的頭像 發(fā)表于 07-26 10:12 ?662次閱讀