chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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 ? 來(lái)源:電路設(shè)計(jì)技能 ? 作者:電路設(shè)計(jì)技能 ? 2020-11-19 09:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

目的意義;

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

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

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

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

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

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

項(xiàng)目簡(jiǎn)介:

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

基礎(chǔ)功能:

1、實(shí)現(xiàn)雙mcu數(shù)據(jù)的上下行無(wú)線傳輸,波特率為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ǔ)功能;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Part 01

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

項(xiàng)目簡(jiǎn)介:

項(xiàng)目采用雙mcu-STM32F030C8T6和RF24L01無(wú)線模塊實(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開(kāi)發(fā)板2塊和RF20L01無(wú)線模塊2塊,STM32系統(tǒng)板2塊分為主板和從板,從板信息通過(guò)24l01無(wú)線模塊發(fā)送到主板,主板通過(guò)uart與pc交互;硬件部分后續(xù)獨(dú)立部分說(shuō)明分享。

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ǔ)功能;

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

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

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

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

Part 02

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

導(dǎo)言

uart外設(shè)是開(kāi)發(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)變得更簡(jiǎn)單、快速,大大提高了開(kāi)發(fā)效率。

STM32CubeMX不僅支持外設(shè)配置,還支持freeRTOS,不過(guò)很可惜,考慮到片子的成本,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ù)通過(guò)printf函數(shù)收集到debug_pool后如何發(fā)送。

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

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

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

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

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

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

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

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

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

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

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

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

Part 03

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

Part 04

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

Part 05

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

Part 06

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

責(zé)任編輯:xj

原文標(biāo)題:《來(lái)實(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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1314

    瀏覽量

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

    關(guān)注

    0

    文章

    356

    瀏覽量

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

    關(guān)注

    30

    文章

    4968

    瀏覽量

    73999

原文標(biāo)題:《來(lái)實(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)推薦
    熱點(diǎn)推薦

    LMH2190:一款高性能四通道時(shí)鐘樹(shù)驅(qū)動(dòng)器的深度剖析

    。TI公司的LMH2190四通道可配置時(shí)鐘樹(shù)驅(qū)動(dòng)器,正是為滿足這些需求而設(shè)計(jì)的一款優(yōu)秀產(chǎn)品。 文件下載: lmh2190.pdf 、產(chǎn)品概述 LMH2190是一款四通道可配置時(shí)鐘樹(shù)驅(qū)動(dòng)器,它能為移動(dòng)手機(jī)或其他應(yīng)用中的
    的頭像 發(fā)表于 02-09 16:40 ?113次閱讀

    請(qǐng)問(wèn)CW32系列MCU的調(diào)試工具是哪一款?

    CW32系列MCU的調(diào)試工具是哪一款?
    發(fā)表于 01-07 07:11

    TL16C2550:雙UART芯片的技術(shù)剖析與應(yīng)用指南

    TL16C2550:雙UART芯片的技術(shù)剖析與應(yīng)用指南 在電子設(shè)計(jì)領(lǐng)域,UART(通用異步收發(fā)傳輸器)芯片是實(shí)現(xiàn)串行通信的關(guān)鍵組件。TI公司的TL16C2550作為一款1.8 - V至5 - V的雙
    的頭像 發(fā)表于 12-29 10:15 ?273次閱讀

    物聯(lián)網(wǎng)新手小白,求前輩推薦一款學(xué)習(xí)用開(kāi)發(fā)板

    我是新手小白,想自學(xué)物聯(lián)網(wǎng)和人工智能技術(shù),希望前輩們能推薦一款適合進(jìn)行初級(jí)到中級(jí)知識(shí)學(xué)習(xí)、實(shí)驗(yàn)和項(xiàng)目開(kāi)發(fā)的開(kāi)發(fā)板兼顧性價(jià)比,包括具體的品牌和型號(hào)。
    發(fā)表于 12-25 18:44

    深度剖析TS3USB3000:一款高性能的USB與MHL開(kāi)關(guān)芯片

    深度剖析TS3USB3000:一款高性能的USB與MHL開(kāi)關(guān)芯片 在電子設(shè)備的設(shè)計(jì)中,對(duì)于信號(hào)切換和傳輸?shù)男枨笕找嬖鲩L(zhǎng),尤其是在處理高速信號(hào)時(shí),需要一款性能卓越的開(kāi)關(guān)芯片。TI公司
    的頭像 發(fā)表于 12-23 14:25 ?357次閱讀

    CWDAPLINK與J-link下載有什么區(qū)別?哪一款比較好?

    CWDAPLINK與J-link下載有什么區(qū)別?哪一款比較好?
    發(fā)表于 12-02 06:06

    RAMSUN分享一款BLE5.4 MCU/SoC藍(lán)牙芯片

    藍(lán)牙芯片作為無(wú)線通信的核心,不僅決定了設(shè)備功耗和傳輸效率,還會(huì)直接影響用戶體驗(yàn)。RAMSUN分享的一款型號(hào)為CH592的藍(lán)牙芯片集BLE 5.4、豐富外設(shè)資源和RISC-V內(nèi)核于體,為智能終端開(kāi)發(fā)提供了高集成度解決方案。
    的頭像 發(fā)表于 11-28 17:06 ?1079次閱讀

    請(qǐng)問(wèn)芯源F030性能對(duì)標(biāo)ST的哪一款?

    芯源F030性能對(duì)標(biāo)ST的哪一款?
    發(fā)表于 11-14 07:15

    多路UART數(shù)據(jù)轉(zhuǎn)發(fā)芯片 支持1主4從UART接口 UART擴(kuò)展芯片

    多路UART數(shù)據(jù)轉(zhuǎn)發(fā)芯片 支持1主4從UART接口 UART擴(kuò)展芯片 EU104 是一款高性能 UART 數(shù)據(jù)轉(zhuǎn)發(fā)芯片,采用 SOP16 緊
    的頭像 發(fā)表于 11-12 10:33 ?388次閱讀

    靈動(dòng)微電子最新最火熱的一款芯片推薦

    希望找一款靈動(dòng)微電子最新最火熱的一款芯片,我們想做個(gè)圖形化的界面配置,供大家以后直接創(chuàng)建工程,用國(guó)產(chǎn)工具M(jìn)cuStudio做,McuStudio支持任何內(nèi)核任何廠家的芯片,希望大家有推薦的型號(hào)可以發(fā)給我
    發(fā)表于 10-29 17:15

    基于hbirdv2的APB總線添加外設(shè)

    的AMBA總線結(jié)構(gòu)之,幾乎已成為種標(biāo)準(zhǔn)的片上總線結(jié)構(gòu)。APB主要用于低帶寬的周邊外設(shè)之間的連接,例如UART、1284等。所以,設(shè)計(jì)的硬件加速器可以通過(guò)APB總線的方式實(shí)現(xiàn)與CPU
    發(fā)表于 10-29 07:26

    串口外設(shè)使用分析

    信號(hào)控制。 DDR200T提供了GPIOA和GPIOB兩組32個(gè)I/O通用輸入輸出接口,其中GPIOA掛載有UART0和UART2兩個(gè)串口外設(shè),GPIOB掛載了UART1
    發(fā)表于 10-28 06:28

    MAX14830四通道串行UART,具有128字FIFO技術(shù)手冊(cè)

    MAX14830是一款先進(jìn)的四通道通用異步收發(fā)器(UART),每路UART帶有128字先入/先出(FIFO)接收和發(fā)送緩存器,以及高速串行外設(shè)接口(SPI?)或I2C控制器接口。PLL
    的頭像 發(fā)表于 05-22 10:14 ?1062次閱讀
    MAX14830四通道串行<b class='flag-5'>UART</b>,具有128字FIFO技術(shù)手冊(cè)

    一款入耳式耳機(jī)的仿真與分析

    電子發(fā)燒友網(wǎng)站提供《一款入耳式耳機(jī)的仿真與分析.pdf》資料免費(fèi)下載
    發(fā)表于 04-22 15:39 ?5次下載

    基于小凌派RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制UART外設(shè)

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小凌派-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的UART接口,進(jìn)行UART編程開(kāi)發(fā)。例程將創(chuàng)建個(gè)任務(wù),通過(guò)配置UART引腳,實(shí)現(xiàn)
    的頭像 發(fā)表于 04-22 14:22 ?1081次閱讀
    基于小凌派RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制<b class='flag-5'>UART</b><b class='flag-5'>外設(shè)</b>