中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

企業(yè)網(wǎng)站功能模塊長春做網(wǎng)站推廣的公司

企業(yè)網(wǎng)站功能模塊,長春做網(wǎng)站推廣的公司,建設工程竣工驗收消防備案網(wǎng)站,網(wǎng)站建設的現(xiàn)狀和趨勢例程:STM32USBdevice: 基于STM32的USB設備例子程序 - Gitee.com 本篇為USB虛擬串口教程,沒有知識,全是實操,按照步驟就能獲得一個STM32的USB虛擬串口。本例子是在野火F103MINI開發(fā)板上驗證的,如果代碼中出現(xiàn)一些外設的…

例程:STM32USBdevice: 基于STM32的USB設備例子程序 - Gitee.com

本篇為USB虛擬串口教程,沒有知識,全是實操,按照步驟就能獲得一個STM32的USB虛擬串口。本例子是在野火F103MINI開發(fā)板上驗證的,如果代碼中出現(xiàn)一些外設的配置,可以參考野火F103MINI開發(fā)板原理圖對照。

設置外部晶振,必須要使用外部晶振,因為USB控制器需要48M的系統(tǒng)時鐘,內(nèi)部晶振無法倍頻出48M。

配置外部時鐘

配置調(diào)試口和系統(tǒng)基準源

開啟USB設備

中間件中設備USB設備類型

我使用了freertos v2

配置外部系統(tǒng)時鐘

配置獨立C和H文件

USB相關的代碼都在這個文件夾中

最常處理的只有下面四個函數(shù):

CDC_Control_FS() 來自主機請求的回調(diào)函數(shù)

CDC_Receive_FS() 接收數(shù)據(jù)回調(diào)函數(shù);

CDC_Transmit_FS() 用來發(fā)送數(shù)據(jù);

CDC_TransmitCplt_FS() 發(fā)送完成回調(diào)函數(shù);

實現(xiàn)回環(huán)測試很簡單,之需要在usbd_cdc_if.c文件中添加下面一句話

編譯后下載程序,會在設備中看到如下

可以使用串口助手進行回環(huán)測試,因為是虛擬串口,所以在這里波特率可以隨意設置

上面中在 CDC_Receive_FS 中添加了一行 CDC_Transmit_FS(Buf, *Len); 代碼,可以看到演示中實現(xiàn)了回環(huán)效果,上位機不管發(fā)送什么數(shù)據(jù)下位機都會原樣返回。并且可以發(fā)現(xiàn)不管上位機軟件中波特率設置為多少都可以正常通訊,因為使用USB虛擬串口的時候真正數(shù)據(jù)傳輸用的是USB,串口本身參數(shù)這些已經(jīng)無所謂了。

上面方式演示中其實存在一個問題,演示中并未體現(xiàn)出來,如果你嘗試在上位機一次向下發(fā)送超過64個字節(jié)數(shù)據(jù),那么你收到的返回數(shù)據(jù)可能就只有64個字節(jié)。USB數(shù)據(jù)的收發(fā)都是以一個一個包的形式進行的,包的大小一方面和USB協(xié)議有關,另一方面和程序有關。在上面工程的 usbd_cdc.h 文件中可以找到相關定義:

USB的 IN / OUT 都是從HOST而言說的,對于Device而言IN指的是發(fā)送,OUT指的是接收。 默認定義下USB_FS收發(fā)每一個包的大小均為64字節(jié)。 前面提到的大于64字節(jié)出現(xiàn)的問題中,第一次進入 CDC_Receive_FS 將接收到64個字節(jié)數(shù)據(jù),這時候調(diào)用了 CDC_Transmit_FS 回發(fā)數(shù)據(jù);接著重啟接收將立馬接到第二個包數(shù)據(jù),然后第二次調(diào)用 CDC_Transmit_FS ,這個時候前一次的發(fā)送還未處理完成,此次調(diào)用將失敗。

針對這個問題在使用的時候要合理設計數(shù)據(jù)收發(fā)邏輯。對于接收而言可以設計特殊字符用于標示一幀數(shù)據(jù)結(jié)束,或是設計超時時間來判斷一幀數(shù)據(jù)結(jié)束。對于發(fā)送而言通常不會有太大問題,一次性發(fā)送大量數(shù)據(jù)也行,在全部發(fā)送完成后會觸發(fā)發(fā)送完成回調(diào)函數(shù)CDC_TransmitCplt_FS;

設置串口參數(shù)

使用USB虛擬串口的時候真正數(shù)據(jù)傳輸用的是USB,串口本身參數(shù)這些已經(jīng)無所謂了。不過有一種情況會需要這些串口參數(shù),比如單片機一方面與上位機通過USB虛擬串口方式進行通訊,另一方面通過物理串口和其它模塊進行通訊,單片機只做數(shù)據(jù)轉(zhuǎn)發(fā)工作。這個時候單片機物理串口的參數(shù)就必須要能與其它模塊匹配,這個參數(shù)如果要通過上位機來設置的話就需要對 CDC_Control_FS() 中的 CDC_SET_LINE_CODING 節(jié)點進行處理了:

進入這個函數(shù)后會通過pbuf這個變量按照上面注釋獲得PC端配置串口的信息。

下面我們舉例一個自己打印的消息例子,方便后期理解

我還做了一個阻塞測試,我在點燈的地方主動發(fā)送了一個數(shù)據(jù),

我發(fā)現(xiàn)即使不連接USB,程序也沒有被阻塞,與這個對比的是STC8系列的單片機的虛擬串口,STC8系列單片機會阻塞程序,而STM32并不會,這很好。

http://www.risenshineclean.com/news/21763.html

相關文章:

  • 營銷型網(wǎng)站建設教學淘寶優(yōu)秀軟文范例100字
  • 億瑪酷網(wǎng)站建設域名注冊新網(wǎng)
  • 網(wǎng)絡營銷中自建網(wǎng)站平臺推廣方式
  • 鞍山建設局的網(wǎng)站seo快速排名系統(tǒng)
  • 專門做微信推送的網(wǎng)站廣東疫情動態(tài)人民日報
  • wordpress 多語言切換東莞seo排名外包
  • 做鉆石的網(wǎng)站如何推廣我的網(wǎng)站
  • quercus wordpress長沙網(wǎng)站優(yōu)化價格
  • 網(wǎng)站的做公司鄭州seo建站
  • 怎么讓百度搜索靠前北京seo工程師
  • .net網(wǎng)站設計seo技術優(yōu)化
  • 壽光網(wǎng)站建設湖南有實力seo優(yōu)化哪家好
  • 石家莊網(wǎng)站制作費用搜索大全引擎入口
  • 東城建站推廣競價排名的弊端
  • 北京網(wǎng)站開發(fā)網(wǎng)站建設seo引擎搜索
  • 網(wǎng)絡管理系統(tǒng)設備seo優(yōu)化公司信
  • 廣州市品牌網(wǎng)站建設公司蘇州網(wǎng)絡推廣seo服務
  • WordPress錯誤返回寧波谷歌seo推廣
  • 企業(yè)的建站方式競價排名是什么意思
  • 張家港網(wǎng)站制作公司優(yōu)化大師電視版
  • 網(wǎng)頁模板網(wǎng)站生成免費建站的網(wǎng)站有哪些
  • 網(wǎng)站開發(fā)非常之旅開發(fā)網(wǎng)站用什么軟件
  • 河南錦路路橋建設有限公司網(wǎng)站高端網(wǎng)站建設定制
  • 做漫畫網(wǎng)站空間多大文案短句干凈治愈
  • 我國市級政府網(wǎng)站建設分析平面設計
  • 網(wǎng)站建設企業(yè)蛋糕怎么做公司網(wǎng)頁
  • 黃金做空網(wǎng)站長沙本地推廣聯(lián)系電話
  • 裝飾工程施工工藝流程口碑優(yōu)化
  • wordpress banseo前景
  • 完整版網(wǎng)站推廣方案網(wǎng)站排名優(yōu)化方案