日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stm32 usb 虚拟串口 相同_RTThread STM32 虚拟串口代码级移植

發布時間:2025/4/5 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32 usb 虚拟串口 相同_RTThread STM32 虚拟串口代码级移植 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景介紹:
關于“虛擬串口” Sugar 發過一篇《RT-Thread 使用 CubeMX 的 VCP(虛擬串口)》
《軟件架構訓練計劃》選擇 CubeMX 生成代碼和 RT-Thread 內核及設備代碼的原因是:給小白鋪路,減小“多層次”學習內容給新人帶來的壓力。
按 《怎樣掌握 RT-Thread(RTOS 該怎么學)》中所述,訓練選擇 CubeMX 生成代碼和 RT-Thread 代碼結合,一個目的是:在了解 RT-Thread 的同時補好裸機編程的基礎。
然而,訓練歸訓練,真正做代碼 Sugar 還是追求代碼統一的。最終 Sugar 開源的訓練代碼會越來越靠近 RT-Thread,并且未來目標是帶讀者回歸 RT-Thread 大集體中去。
虛擬串口是 Sugar 特別常用的調試手段,先從這個功能的代碼級移植開始邁出回歸 RT-Thread 的第一步。

虛擬串口的幾個重要文件

usb_common.h、usb_device.h、ringbuffer.h
ringbuffer.c、core.c、usbdevice.c、cdc_vcom.c

未來 Sugar 會把 Git 的 Log 記錄做成一本“活”的參考書,不會使用 Git 的讀者可以在 MultiMCU EDU 公眾號內回復 git 得到 Sugar 錄的教學視頻。

本篇代碼的 github 地址是:https://github.com/code-structure-train/pandora_vcom ? ? ? ?

一、加入編譯的文件

二、RTT新加入的文件(來自 RT-Thread 官方 master 源碼)

三、CubeMX 生成的裸機代碼有哪些改動

代碼級移植有啥好處

寫軟件最基本的兩件事:一、寫代碼;二、代碼文件。
當想到“這個軟件究竟是怎么回事兒”這個問題的時候,要直接回到最基本的兩個點上去找答案。

一、對學習的好處:
1、明確目標功能的代碼;
2、熟悉 RT-Thread 代碼文件,能夠體會“分”得好而產生的“管理”的美;
3、鍛煉讀代碼能力,從優秀代碼中學到優秀架構的實現方法(要“悟”才能收獲)。二、對產品的好處:
1、明確 RT-Thread 目標功能代碼,是將目標功能整合進自己產品的第一步;
2、對于中小型項目,往往幾個文件就可以搞定一個功能,省去配置 Kconfig 和 Scons 的麻煩。

項目代碼管理

中小型項目:一顏一心。
中大型項目:一顏多心。

一、中小型
小型、部分中型項目通常不輕易換硬件平臺,因此叫“一心”。軟件項目核心是代碼,STM32 硬件平臺在當下完全可以做到:只維護代碼,不維護項目工程。對于小型、中型項目,Sugar 自己使用 project-generator 來維護軟件,因此其自動生成工程的依賴文件(yaml 配置文件)就是代碼管理的“一顏”。
本文第一張圖就是 yaml 文件的對比,一眼看出工程所需的全部文件和文件位置。二、中大型
部分中型、大型項目很多都是要適配多種平臺的,以 RT-Thread 為例,其除了 STM32 之外還支持很多其他硬件平臺,因此叫“多心”。這種情況下想讓在不同平臺上使用相同習慣管理代碼,就會復雜很多。官方使用的 env 環境就是借助了 KConfig 和 Scons,相應的配置文件分布在代碼當中。
env 的 menuconfig 就是被統一好的“一顏”,通過簡單的配置就可以操控大型項目,用著爽。

Sugar 給小白的 RTT 入門之路

只提要點,詳細內容單獨推文。

一、基本原則:
1、從中小型項目入手,集中精力搞懂代碼(包括 RTT 內核、設備驅動和代碼管理)。
2、使用 project-generator 進行項目管理,項目管理配置文件獨立,不分散在代碼里,對初學者非常友好(剛剛學習,不要分心去搞 KConfig 和 Scons)。
二、做了哪些:
1、《軟件架構訓練計劃》
2、開源基于 RT-Thread 的麥輪車項目。該項目用最簡單易學的算法、最簡單易學的架構將編程的三大部分(邏輯、算法、參數)從功能上統一起來,同時在代碼管理(功能設計和文件管理)上獨立分離。

PS

現在好的開源項目太多了,Sugar 認為下一個時代值得探索的方向之一是:如何讓初學者能快速接入優秀的開源項目。
當下大部分開源項目對初學者來講都不算太友好:不是代碼多就是算法難,又或者是層次高。也正是因為“多”、“難”和“復雜”才突顯了對優秀架構思想的需求。但是優秀的架構思想不僅僅是為“多”、“難”和“復雜”服務的,好思想對簡單項目也適用。Sugar 在 github 貢獻融入優秀思想的簡單項目,目的是:讓小白先長“老鳥”的心,減少積累“量變”的時間,推進“質變”速度。

對于 Sugar 的在線一對一付費輔導,詳情見公眾號“關于我”頁面。這里 Sugar 補充幾點:
1、每個付費學員最多提供累積 6 小時的入門輔導(目前大部分是選 3 個 2 小時這樣的搭配)。
2、再次強調有關推文內容的問題推薦在 github 上寫 issue,開放平臺更容易獲得答案。
3、微信加好友問問題的,請多打幾個字說清楚問題(只甩 Sugar 一個截圖啥也不說,Sugar 一臉蒙圈回答不了)。

Sugar 鼓勵大家要有探索精神,自主學習提高。

關注作者

歡迎掃碼關注我的公眾號MultiMCU EDU。

提示:在公眾號“關于我”頁面可加作者微信好友。

喜歡本文求點贊,有打賞我會更有動力。

總結

以上是生活随笔為你收集整理的stm32 usb 虚拟串口 相同_RTThread STM32 虚拟串口代码级移植的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人在线天堂 | 日韩精品久久久久久久的张开腿让 | 久久国产成人精品 | 好男人www日本 | 欧美视频一区二区三区 | 亚洲yy| 欧美激情国产日韩精品一区18 | 日韩精品中文字幕一区二区 | 亚洲精品影视 | 99精品视频免费版的特色功能 | 亚洲天堂免费在线观看视频 | 午夜影院免费观看 | 91成人入口 | 天堂网av在线 | 欧美日韩乱国产 | 国产视频手机在线播放 | 99色网| 日本精品一区二区视频 | 国产女人水真多18毛片18精品 | www.插插插| 成人黄色在线看 | 蜜臀av一区二区三区激情综合 | 色热热| 九色在线视频 | 国产综合av | 超碰在线超碰 | 色悠悠av| 午夜精品福利在线 | 九色网站在线观看 | 欧美视频一区二区三区 | 一区二区三区不卡视频在线观看 | 农村少妇 | 黄色大片免费观看视频 | 火影忍者羞羞漫画 | 国产xxx69麻豆国语对白 | 一久久久 | 老司机成人免费视频 | 国产成人av一区二区三区 | 国产欧美色图 | 三上悠亚在线一区二区 | 在线观看一二三区 | 热玖玖| 久久免费在线观看 | 97免费视频观看 | 海角社区id | 色爽| 黄色一级大片在线免费看国产 | 日本亚洲天堂 | 国产三级三级三级 | 黄色福利| 四虎精品在线观看 | 亚洲中文字幕无码不卡电影 | 欧美日韩不卡合集视频 | 国产对白羞辱绿帽vk | 色婷婷热久久 | 高清日韩一区 | 国产高中女学生第一次 | 浓精喷进老师黑色丝袜在线观看 | 深夜视频在线观看免费 | 欧美激情国产日韩精品一区18 | 5566色| 校园激情亚洲 | 国产乱妇无码大片在线观看 | 亚洲女优一区 | 国产三级视频网站 | 五月激情六月婷婷 | 最新激情网站 | 亚洲色图1 | 老头糟蹋新婚少妇系列小说 | 伊人99re| 国产一级18片视频 | 欧美激情视频网址 | 91中文字幕在线视频 | 国产又粗又大又黄 | www.国产在线观看 | 中文字幕影院 | 亚洲免费影院 | 午夜美女福利 | 羞羞答答av| 一本色道久久综合亚洲精品按摩 | 涩av | 在线免费观看视频黄 | 国产麻豆精品一区二区 | 日本熟妇人妻xxxxx | 天天干天天操 | 欧美videos另类精品 | 高清二区 | 久久色视频 | 国产美女诱惑 | 国产主播精品在线 | 四虎影视成人永久免费观看亚洲欧美 | 亚洲丝袜在线视频 | 青青草原国产在线观看 | 毛片一级视频 | 无码人妻一区二区三区av | 欧美一区二区三区爽爽爽 | 亚洲人吸女人奶水 | 欧美巨乳美女 | 精品国产99久久久久久宅男i |