色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

一款UART外設(shè)

5CTi_cirmall ? 來源:電路設(shè)計(jì)技能 ? 作者:電路設(shè)計(jì)技能 ? 2020-11-19 09:44 ? 次閱讀

親愛的工程師朋友和喜愛電子的朋友,大家好,我是火舞青春,也是本期“來實(shí)戰(zhàn)”項(xiàng)目《串行數(shù)據(jù)采集儀》的執(zhí)行官。

嵌入式軟件這個(gè)行業(yè)涉及甚廣,從我們身邊的電視、冰箱、洗衣機(jī),到我們的手機(jī),再到交通、到醫(yī)療、軍事無處不在。

在項(xiàng)目的開發(fā)過程中,使用調(diào)試工具是必不可少的。

串口簡單靈活的特性常被工程師用作代碼的調(diào)試工具,它的另一個(gè)名字叫uart

說到uart,相信很多工程師都熟透了,掌握一個(gè)uart,可以說是已經(jīng)邁進(jìn)了嵌入式軟件的殿堂,所以u(píng)art也常被用作嵌入式入門的必備功課。

那既然都熟了,那為什么還拿出來說呢,帶著這樣的一個(gè)問題,跟著我一起深入的了解我們的這個(gè)項(xiàng)目,一起探討uart背后那些不為人知的故事。

目的意義;

在我們的開發(fā)測試中,uart通常扮演者信息輸出,人機(jī)交互和下載程序的功能,有些場景下可能有線的串口不是很方便或者不能實(shí)現(xiàn)信息的輸出,比如調(diào)平衡車,有線串口對(duì)這種遠(yuǎn)距離的調(diào)試顯得有些力不足。有些場景或者我們根本不可以把數(shù)據(jù)直接讀出來,比如車廠,整車的CAN數(shù)據(jù)是汽車的血液,一些ECU的出廠前身體狀況,全靠采集can數(shù)據(jù)來診斷,即使整車有can數(shù)據(jù)的存儲(chǔ)功能,一些測試調(diào)試不一定能很方便的拿到,所以這個(gè)無線的數(shù)據(jù)采集儀就能派上用場,這就是我本次項(xiàng)目的主要意義。

本期內(nèi)容可以了解到以下幾個(gè)方面:

1、模塊化代碼的設(shè)計(jì)思路,開發(fā)思想和獨(dú)立模塊開發(fā)模型;

2、uart等串行板級(jí)通信的設(shè)計(jì)原理及其注意事項(xiàng);

3、項(xiàng)目中常用的測試方法和測試手段;

4、通信協(xié)議的制定和協(xié)議棧的開發(fā);

項(xiàng)目簡介:

項(xiàng)目采用雙mcu-STM32F030C8T6和RF24L01無線模塊實(shí)現(xiàn)主從設(shè)備的上下行數(shù)據(jù)傳輸,在此基礎(chǔ)上增加與pc的通信和數(shù)據(jù)記錄功能,實(shí)現(xiàn)離線數(shù)據(jù)同步功能;

基礎(chǔ)功能:

1、實(shí)現(xiàn)雙mcu數(shù)據(jù)的上下行無線傳輸,波特率為115200;

2、實(shí)現(xiàn)主設(shè)備與pc機(jī)的通信,并實(shí)現(xiàn)uart調(diào)試功能;

擴(kuò)展功能:

1、can數(shù)據(jù)、spi 、iic的數(shù)據(jù)的采集傳輸;

2、離線存儲(chǔ)功能;

開發(fā)準(zhǔn)備及其環(huán)境

硬件環(huán)境 具備RF24L01模塊接口的STM32開發(fā)板2塊、RF20L01無線模塊2塊;

開發(fā)工具 STM32J-link仿真器、串口TTL轉(zhuǎn)換小板各1;

軟件環(huán)境 KIEL-MDK 、串口助手 ;

開發(fā)計(jì)劃(第五期的第1板塊,為期1個(gè)月)

· 節(jié)點(diǎn)1:完成技術(shù)指標(biāo)的確定,開發(fā)板、硬件模塊及其調(diào)試器采購到位,完成軟硬件的架構(gòu)設(shè)計(jì);

· 節(jié)點(diǎn)2:調(diào)試接口與pc的交互程序的開發(fā);

1、 初建工程,完成uart1調(diào)試接口程序的開發(fā);

2、 完成uart2與pc機(jī)的交互程序的設(shè)計(jì);

· 節(jié)點(diǎn)3:定制NRF24L01的傳輸協(xié)議,并完成開發(fā)

1、驅(qū)動(dòng)的開發(fā)與BSP的開發(fā);

2、協(xié)議的開發(fā);

· 節(jié)點(diǎn)4:整體調(diào)試、測試;

· 節(jié)點(diǎn)5:編寫項(xiàng)目總結(jié)。

項(xiàng)目設(shè)計(jì)

Part 01

項(xiàng)目概述及其環(huán)境的搭建

項(xiàng)目簡介:

項(xiàng)目采用雙mcu-STM32F030C8T6和RF24L01無線模塊實(shí)現(xiàn)主從設(shè)備的上下行數(shù)據(jù)傳輸,在此基礎(chǔ)上增加與pc的通信和數(shù)據(jù)記錄功能,實(shí)現(xiàn)離線數(shù)據(jù)同步功能;功能指標(biāo)

基礎(chǔ)功能:

1、為了盡快上手軟件,硬件系統(tǒng)采用現(xiàn)成模塊, RF24L01模塊接口的STM32開發(fā)板2塊和RF20L01無線模塊2塊,STM32系統(tǒng)板2塊分為主板和從板,從板信息通過24l01無線模塊發(fā)送到主板,主板通過uart與pc交互;硬件部分后續(xù)獨(dú)立部分說明分享。

2、軟件方面是重點(diǎn)研究對(duì)象,軟件主要分為driver、hal、bsp、service、app五個(gè)部分。Driver層是和硬件直接相關(guān),hal層是隔離層,bsp是驅(qū)動(dòng)相關(guān)芯片的板級(jí)支持層、服務(wù)層主要是一些任務(wù)相關(guān),App為應(yīng)用層。

擴(kuò)展功能:

1、can數(shù)據(jù)、spi 、iic的數(shù)據(jù)的采集傳輸;

2、離線存儲(chǔ)功能;

開發(fā)準(zhǔn)備及其環(huán)境:

1、硬件環(huán)境 :具備RF24L01模塊接口的STM32開發(fā)板2塊、RF20L01無線模塊2塊;

2、開發(fā)工具 :STM32J-link仿真器、串口TTL轉(zhuǎn)換小板各1;

3、軟件環(huán)境 KIEL-MDK 、串口助手 ;

Part 02

軟件設(shè)計(jì)-外設(shè)uart

導(dǎo)言

uart外設(shè)是開發(fā)調(diào)試的重要手段,也是板級(jí)通信常用的通信方式。

對(duì)于耳熟能詳?shù)膗art,你了解多少呢?

它的用法的注意事項(xiàng)和難點(diǎn)又有哪些呢?

本期內(nèi)容讓我?guī)е蠹抑攸c(diǎn)探討一下uart的軟件設(shè)計(jì)。

內(nèi)容提要

1、uart的基本概述和STM32中uart驅(qū)動(dòng)HAL層的配置;

2、調(diào)試打印中,uart的數(shù)據(jù)發(fā)送策略;

3、通信中,uart的策略與架構(gòu)。

軟件實(shí)戰(zhàn)

1、外設(shè)與系統(tǒng)

與傳統(tǒng)寫驅(qū)動(dòng)程序相比,STM32CubeMX代碼生成器讓驅(qū)動(dòng)變得更簡單、快速,大大提高了開發(fā)效率。

STM32CubeMX不僅支持外設(shè)配置,還支持freeRTOS,不過很可惜,考慮到片子的成本,8KRAM的片子僅能跑2個(gè)靜態(tài)的線程,而且從板有集成到項(xiàng)目中的需求,所以從設(shè)備不使用freeRTOS。

從設(shè)備主頻48MHZ,uart外設(shè)需要對(duì)GPIO/NVIC/DMA/UART進(jìn)行配置,主設(shè)備還需要配置freeRTOS。

2、調(diào)試神器-uart

不管哪個(gè)項(xiàng)目,printf的輸出是必不可少的!

實(shí)現(xiàn)的關(guān)鍵點(diǎn)是數(shù)據(jù)通過printf函數(shù)收集到debug_pool后如何發(fā)送。

下面內(nèi)容圍繞這個(gè)問題展開討論。

無os的情況下,若是需要實(shí)時(shí)性要求較高的情況下,發(fā)送需要直接調(diào)用uart驅(qū)動(dòng)發(fā)送接口拋出,這種方式,效率低,cpu占用高。

一般情況下是要開一片空間,當(dāng)數(shù)據(jù)收集滿后通過DMA送到uart硬件然后發(fā)出去。不過這種方式是需要一個(gè)Task,周期的拋數(shù)據(jù)。

有os的系統(tǒng),這里需要加消息隊(duì)列或者內(nèi)存池,還需要一個(gè)獨(dú)立的線程進(jìn)行處理。

比較復(fù)雜,這里不展開討論。

對(duì)上圖思想進(jìn)行解釋:

1、接收部分首先考慮如何接收數(shù)據(jù),是采用run_buf的形式還是一個(gè)字節(jié)中斷的方式;

2、數(shù)據(jù)接收后,要思考幀識(shí)別,確定一幀數(shù)據(jù)后進(jìn)入CRC校驗(yàn);

3、校驗(yàn)通過后再進(jìn)行協(xié)議的解析和處理;

5、數(shù)據(jù)發(fā)送部分先對(duì)數(shù)據(jù)進(jìn)行打包。記住多線程的處理要對(duì)數(shù)據(jù)進(jìn)行保護(hù),防止tx_buf里的數(shù)據(jù)被刷寫;

6、通過打包后的數(shù)據(jù)要CRC加碼校驗(yàn),然后再發(fā)出去;

值得注意的是,要將這些公共的CRC和收發(fā)任務(wù)單獨(dú)提出來,與協(xié)議相關(guān)的內(nèi)容獨(dú)立出來,這樣協(xié)議層的變得不會(huì)引起程序大的改動(dòng);

Part 03

調(diào)試接口與pc的交互程序的開發(fā)

Part 04

定制NRF24L01的傳輸協(xié)議,完成開發(fā)

Part 05

整體調(diào)試、測試

Part 06

編寫項(xiàng)目總結(jié)

責(zé)任編輯:xj

原文標(biāo)題:《來實(shí)戰(zhàn)》#5:老司機(jī)教你做一款UART之UART外設(shè)篇

文章出處:【微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    22

    文章

    1239

    瀏覽量

    101469
  • 模塊化
    +關(guān)注

    關(guān)注

    0

    文章

    332

    瀏覽量

    21370
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4798

    瀏覽量

    68714

原文標(biāo)題:《來實(shí)戰(zhàn)》#5:老司機(jī)教你做一款UART之UART外設(shè)篇

文章出處:【微信號(hào):cirmall,微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RF-WM-20CMB1模塊是RF-star全新推出的一款嵌入式Wi-Fi+BT模塊

    Wi-fi模組 - RF-WM-20CMB1模塊是RF-star全新推出的一款嵌入式Wi-Fi+BT模塊,該模塊采用瑞昱(Realtek)的SOC Wi-Fi方案RTL8720CM芯片設(shè)計(jì),內(nèi)置高性能KM4 MCU,并包含多種外設(shè)UA
    的頭像 發(fā)表于 12-02 15:51 ?216次閱讀
    RF-WM-20CMB1模塊是RF-star全新推出的<b class='flag-5'>一款</b>嵌入式Wi-Fi+BT模塊

    如果設(shè)計(jì)一款桌面的機(jī)器玩具,最吸引人的外觀與功能要有哪些?

    初步設(shè)想制作如下其中一款,有感興趣的朋友可以幫提提意見。 A一款圓敦敦的音響狀的“個(gè)人日程助手”,具備番茄鬧鐘、音樂播放、減壓交互、語言對(duì)話、工作日?qǐng)?bào)生成。 B一款迷你瓦利機(jī)器人,有
    發(fā)表于 10-19 18:25

    介紹國產(chǎn)的一款RISC-V——ES32VF2264

    ES32VF2264系列產(chǎn)品采用RISC-V內(nèi)核和先進(jìn)的系統(tǒng)架構(gòu),是一款高性價(jià)比、高可靠性且外設(shè)功能豐富的32-bit 微控制器。主頻運(yùn)行在72MHz時(shí)系統(tǒng)效能評(píng)分可達(dá)81 DMIPS和149
    發(fā)表于 09-23 08:44

    EU104:一款支持1擴(kuò)4的通用異步串口擴(kuò)展芯片,滿足絕大部分串口設(shè)備的通訊要求

    EU104:一款支持1擴(kuò)4的通用異步串口擴(kuò)展芯片,滿足絕大部分串口設(shè)備的通訊要求 EU104是一款支持1擴(kuò)4的通用異步串口擴(kuò)展芯片,具有靈活配置通訊參數(shù)的UART接口。該芯片提供了5個(gè)UART
    的頭像 發(fā)表于 08-08 10:21 ?403次閱讀

    如何設(shè)計(jì)一款50HZ陷波電路?

    如何設(shè)計(jì)一款50HZ陷波電路,有現(xiàn)成的參考電路設(shè)計(jì)嗎
    發(fā)表于 07-30 06:12

    esp32如何使用DMA來傳輸UART/SPI等外設(shè)的數(shù)據(jù),編程上應(yīng)該怎么聲明或者調(diào)用?

    esp32如何使用DMA來傳輸UART/SPI等外設(shè)的數(shù)據(jù),編程上應(yīng)該怎么聲明或者調(diào)用?
    發(fā)表于 06-26 07:58

    一款完美用于相機(jī)鏡頭的馬達(dá)驅(qū)動(dòng)芯片TMC2300-LA

    卓聯(lián)微科技TMC2300-LA一款完美用于相機(jī)鏡頭的馬達(dá)驅(qū)動(dòng)芯片TMC2300-LA是一款用于高達(dá)1.2ARMS的兩相步進(jìn)電機(jī)的低壓驅(qū)動(dòng)芯片,低電壓的步進(jìn)電機(jī)驅(qū)動(dòng)器是用于電池供電的、空間和待機(jī)功率
    的頭像 發(fā)表于 06-14 08:27 ?613次閱讀
    <b class='flag-5'>一款</b>完美用于相機(jī)鏡頭的馬達(dá)驅(qū)動(dòng)芯片TMC2300-LA

    一款以32位ARMCortexTM-M0處理器內(nèi)核為基礎(chǔ)的高性價(jià)比安全MCU

    LKT6850是一款以32位ARMCortexTM -M0處理器內(nèi)核為基礎(chǔ)的高性價(jià)比安全MCU。LKT6850具有最高64KBFlash、4KBRAM、48MHZ工作頻率,具有豐富的外設(shè)資源供開發(fā)人員使用。
    的頭像 發(fā)表于 04-19 16:05 ?679次閱讀

    如何挑選一款性價(jià)比高的家用路由器

    家庭網(wǎng)絡(luò)已經(jīng)成為人們生活中不可或缺的部分。而選擇一款性價(jià)比高的家用路由器對(duì)于保障網(wǎng)絡(luò)連接質(zhì)量、提升網(wǎng)絡(luò)體驗(yàn)至關(guān)重要。本文將從性能、覆蓋范圍、安全性、易用性和價(jià)格等方面,為您介紹如何挑選一款性價(jià)比高的家用路由器。
    的頭像 發(fā)表于 04-16 15:14 ?554次閱讀

    stm8l的PE3上有兩個(gè)外設(shè)LCD和UART2,如何設(shè)置所使用的外設(shè)(LCD和UART2)?

    stm8l的PE3上有兩個(gè)外設(shè)LCD和UART2,如何設(shè)置我所使用的外設(shè)(LCD和UART2)
    發(fā)表于 04-07 07:27

    一款通過串行外設(shè)接口 (SPI) 控制的雙通道智能高側(cè)開關(guān)TPS2HCS10-Q1數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《一款通過串行外設(shè)接口 (SPI) 控制的雙通道智能高側(cè)開關(guān)TPS2HCS10-Q1數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-26 13:51 ?1次下載
    <b class='flag-5'>一款</b>通過串行<b class='flag-5'>外設(shè)</b>接口 (SPI) 控制的雙通道智能高側(cè)開關(guān)TPS2HCS10-Q1數(shù)據(jù)表

    如何設(shè)計(jì)一款四輪智能小車

    如何設(shè)計(jì)一款四輪智能小車 此部分共分為五個(gè)小節(jié),通過這個(gè) Part 的學(xué)習(xí),我們將了解機(jī)器人的概念和組成,對(duì)機(jī)器人的整體設(shè)計(jì)有個(gè)明確的思路,然后通過機(jī)械結(jié)構(gòu)、驅(qū)動(dòng)系統(tǒng)、傳感系統(tǒng)、控制系統(tǒng)四大
    的頭像 發(fā)表于 03-26 10:58 ?805次閱讀
    如何設(shè)計(jì)<b class='flag-5'>一款</b>四輪智能小車

    UART串口通信協(xié)議是什么?

    UART (Universal Asynchronous Receiver/Transmitter) 是種通信接口協(xié)議,用于實(shí)現(xiàn)串口通信。它是種簡單的、可靠的、廣泛應(yīng)用的串口通信協(xié)議。它是由美國
    的頭像 發(fā)表于 03-19 17:26 ?1434次閱讀

    介紹一款基于java的滲透測試神器-CobaltStrike

    Cobalt Strike是一款基于java的滲透測試神器,常被業(yè)界人稱為CS神器。
    的頭像 發(fā)表于 01-16 09:16 ?1014次閱讀
    介紹<b class='flag-5'>一款</b>基于java的滲透測試神器-CobaltStrike

    GD32F103C8T6 Uart3無法發(fā)送數(shù)據(jù)

    GD32F103C8T6是一款由中國的國產(chǎn)芯片廠商GigaDevice生產(chǎn)的單片機(jī)芯片,它是一款性價(jià)比較高且功能強(qiáng)大的芯片。在GD32F103C8T6中,UART3是其中個(gè)串口通信模
    的頭像 發(fā)表于 01-09 10:57 ?1752次閱讀
    主站蜘蛛池模板: 大地影院日本韩国电影免费观看| 别停好爽好深好大好舒服视频| 亚洲 欧洲 国产 日产 综合| 91精品免费久久久久久久久| 用快播看av的网站| 中文成人在线| 99久久99久久精品| 成人a视频片在线观看免费| 高清无码色大片中文| 国产午夜精品美女免费大片| 精品国产成人AV在线看| 久久中文字幕综合不卡一二区| 男人吃奶摸下弄进去好爽 | 在线欧美免费人成视频| 中文字幕在线不卡日本v二区| 亚洲 天堂 欧美 日韩 国产| 亚洲手机在线人成视频| 中文字幕天堂久久精品| ae58老司机福利| 最新果冻传媒在线观看免费版| av亚洲2017色天堂| 国产69精品麻豆久久久久| 韩国hd高清xxx| 免费韩国伦理2017最新| 肉动漫h黄动漫日本免费观看| 强开少妇嫩苞又嫩又紧九色| 涩涩999| 亚洲精品久久久午夜麻豆| 《乳色吐息》无删减版在线观看| 亚洲中文字幕永久在线| 99精品在线看| 国产精品视频人人做人人爽| 国产精品久久久久久人妻香蕉| 精品国产麻豆AV无码| 女女破视频在线观看| 玩弄人妻少妇500系列网址| 在线成年av动漫电影| 村上里沙快播| 久久精品亚洲热综合一本| 日本午夜精品一区二区三区电影| 亚洲视频欧美视频|