国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

一款UART外設

5CTi_cirmall ? 來源:電路設計技能 ? 作者:電路設計技能 ? 2020-11-19 09:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

在項目的開發過程中,使用調試工具是必不可少的。

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

說到uart,相信很多工程師都熟透了,掌握一個uart,可以說是已經邁進了嵌入式軟件的殿堂,所以uart也常被用作嵌入式入門的必備功課。

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

目的意義;

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

本期內容可以了解到以下幾個方面:

1、模塊化代碼的設計思路,開發思想和獨立模塊開發模型;

2、uart等串行板級通信的設計原理及其注意事項;

3、項目中常用的測試方法和測試手段;

4、通信協議的制定和協議棧的開發;

項目簡介:

項目采用雙mcu-STM32F030C8T6和RF24L01無線模塊實現主從設備的上下行數據傳輸,在此基礎上增加與pc的通信和數據記錄功能,實現離線數據同步功能;

基礎功能:

1、實現雙mcu數據的上下行無線傳輸,波特率為115200;

2、實現主設備與pc機的通信,并實現uart調試功能;

擴展功能:

1、can數據、spi 、iic的數據的采集傳輸;

2、離線存儲功能;

開發準備及其環境

硬件環境 具備RF24L01模塊接口的STM32開發板2塊、RF20L01無線模塊2塊;

開發工具 STM32J-link仿真器、串口TTL轉換小板各1;

軟件環境 KIEL-MDK 、串口助手 ;

開發計劃(第五期的第1板塊,為期1個月)

· 節點1:完成技術指標的確定,開發板、硬件模塊及其調試器采購到位,完成軟硬件的架構設計;

· 節點2:調試接口與pc的交互程序的開發;

1、 初建工程,完成uart1調試接口程序的開發;

2、 完成uart2與pc機的交互程序的設計;

· 節點3:定制NRF24L01的傳輸協議,并完成開發

1、驅動的開發與BSP的開發;

2、協議的開發;

· 節點4:整體調試、測試;

· 節點5:編寫項目總結。

項目設計

Part 01

項目概述及其環境的搭建

項目簡介:

項目采用雙mcu-STM32F030C8T6和RF24L01無線模塊實現主從設備的上下行數據傳輸,在此基礎上增加與pc的通信和數據記錄功能,實現離線數據同步功能;功能指標

基礎功能:

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

2、軟件方面是重點研究對象,軟件主要分為driver、hal、bsp、service、app五個部分。Driver層是和硬件直接相關,hal層是隔離層,bsp是驅動相關芯片的板級支持層、服務層主要是一些任務相關,App為應用層。

擴展功能:

1、can數據、spi 、iic的數據的采集傳輸;

2、離線存儲功能;

開發準備及其環境:

1、硬件環境 :具備RF24L01模塊接口的STM32開發板2塊、RF20L01無線模塊2塊;

2、開發工具 :STM32J-link仿真器、串口TTL轉換小板各1;

3、軟件環境 KIEL-MDK 、串口助手 ;

Part 02

軟件設計-外設uart

導言

uart外設是開發調試的重要手段,也是板級通信常用的通信方式。

對于耳熟能詳的uart,你了解多少呢?

它的用法的注意事項和難點又有哪些呢?

本期內容讓我帶著大家重點探討一下uart的軟件設計。

內容提要

1、uart的基本概述和STM32中uart驅動HAL層的配置;

2、調試打印中,uart的數據發送策略;

3、通信中,uart的策略與架構。

軟件實戰

1、外設與系統

與傳統寫驅動程序相比,STM32CubeMX代碼生成器讓驅動變得更簡單、快速,大大提高了開發效率。

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

從設備主頻48MHZ,uart外設需要對GPIO/NVIC/DMA/UART進行配置,主設備還需要配置freeRTOS。

2、調試神器-uart

不管哪個項目,printf的輸出是必不可少的!

實現的關鍵點是數據通過printf函數收集到debug_pool后如何發送。

下面內容圍繞這個問題展開討論。

無os的情況下,若是需要實時性要求較高的情況下,發送需要直接調用uart驅動發送接口拋出,這種方式,效率低,cpu占用高。

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

有os的系統,這里需要加消息隊列或者內存池,還需要一個獨立的線程進行處理。

比較復雜,這里不展開討論。

對上圖思想進行解釋:

1、接收部分首先考慮如何接收數據,是采用run_buf的形式還是一個字節中斷的方式;

2、數據接收后,要思考幀識別,確定一幀數據后進入CRC校驗;

3、校驗通過后再進行協議的解析和處理;

5、數據發送部分先對數據進行打包。記住多線程的處理要對數據進行保護,防止tx_buf里的數據被刷寫;

6、通過打包后的數據要CRC加碼校驗,然后再發出去;

值得注意的是,要將這些公共的CRC和收發任務單獨提出來,與協議相關的內容獨立出來,這樣協議層的變得不會引起程序大的改動;

Part 03

調試接口與pc的交互程序的開發

Part 04

定制NRF24L01的傳輸協議,完成開發

Part 05

整體調試、測試

Part 06

編寫項目總結

責任編輯:xj

原文標題:《來實戰》#5:老司機教你做一款UART之UART外設篇

文章出處:【微信公眾號:電路設計技能】歡迎添加關注!文章轉載請注明出處。

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

    關注

    22

    文章

    1314

    瀏覽量

    106682
  • 模塊化
    +關注

    關注

    0

    文章

    358

    瀏覽量

    22700
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    74009

原文標題:《來實戰》#5:老司機教你做一款UART之UART外設篇

文章出處:【微信號:cirmall,微信公眾號:電路設計技能】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LMH2190:一款高性能四通道時鐘樹驅動器的深度剖析

    。TI公司的LMH2190四通道可配置時鐘樹驅動器,正是為滿足這些需求而設計的一款優秀產品。 文件下載: lmh2190.pdf 、產品概述 LMH2190是一款四通道可配置時鐘樹驅動器,它能為移動手機或其他應用中的
    的頭像 發表于 02-09 16:40 ?114次閱讀

    請問CW32系列MCU的調試工具是哪一款

    CW32系列MCU的調試工具是哪一款
    發表于 01-07 07:11

    TL16C2550:雙UART芯片的技術剖析與應用指南

    TL16C2550:雙UART芯片的技術剖析與應用指南 在電子設計領域,UART(通用異步收發傳輸器)芯片是實現串行通信的關鍵組件。TI公司的TL16C2550作為一款1.8 - V至5 - V的雙
    的頭像 發表于 12-29 10:15 ?275次閱讀

    物聯網新手小白,求前輩推薦一款學習用開發板

    我是新手小白,想自學物聯網和人工智能技術,希望前輩們能推薦一款適合進行初級到中級知識學習、實驗和項目開發的開發板兼顧性價比,包括具體的品牌和型號。
    發表于 12-25 18:44

    深度剖析TS3USB3000:一款高性能的USB與MHL開關芯片

    深度剖析TS3USB3000:一款高性能的USB與MHL開關芯片 在電子設備的設計中,對于信號切換和傳輸的需求日益增長,尤其是在處理高速信號時,需要一款性能卓越的開關芯片。TI公司
    的頭像 發表于 12-23 14:25 ?361次閱讀

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

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

    RAMSUN分享一款BLE5.4 MCU/SoC藍牙芯片

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

    請問芯源F030性能對標ST的哪一款

    芯源F030性能對標ST的哪一款
    發表于 11-14 07:15

    多路UART數據轉發芯片 支持1主4從UART接口 UART擴展芯片

    多路UART數據轉發芯片 支持1主4從UART接口 UART擴展芯片 EU104 是一款高性能 UART 數據轉發芯片,采用 SOP16 緊
    的頭像 發表于 11-12 10:33 ?393次閱讀

    靈動微電子最新最火熱的一款芯片推薦

    希望找一款靈動微電子最新最火熱的一款芯片,我們想做個圖形化的界面配置,供大家以后直接創建工程,用國產工具McuStudio做,McuStudio支持任何內核任何廠家的芯片,希望大家有推薦的型號可以發給我
    發表于 10-29 17:15

    基于hbirdv2的APB總線添加外設

    的AMBA總線結構之,幾乎已成為種標準的片上總線結構。APB主要用于低帶寬的周邊外設之間的連接,例如UART、1284等。所以,設計的硬件加速器可以通過APB總線的方式實現與CPU
    發表于 10-29 07:26

    串口外設使用分析

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

    MAX14830四通道串行UART,具有128字FIFO技術手冊

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

    一款入耳式耳機的仿真與分析

    電子發燒友網站提供《一款入耳式耳機的仿真與分析.pdf》資料免費下載
    發表于 04-22 15:39 ?5次下載

    基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制UART外設

    1、實驗簡介本實驗將演示如何在小凌派-RK2206開發板上使用IOT庫的UART接口,進行UART編程開發。例程將創建個任務,通過配置UART引腳,實現
    的頭像 發表于 04-22 14:22 ?1082次閱讀
    基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制<b class='flag-5'>UART</b><b class='flag-5'>外設</b>