為什麼網上連開源的stm32 8個串列埠程式都沒有

時間 2021-05-11 22:51:09

1樓:

任意通用的多串列埠程式從原理上來說是無法實現的,而有約束條件的串列埠程式缺少通用性,所以沒有這樣的開源專案。

以問題為例,8個串列埠同時工作,如果沒有約束條件,那麼,為了通用性,需要覆蓋UART的全部功能,標準串列埠是全雙工的,8個串列埠就需要16個任務對應,至少需要8個接收中斷源,8個接收中斷源必然產生中斷衝突,這些,都是通用串列埠程式或者框架解決不了的。

而在具體專案中,8個串列埠對應的資料是己知的,有雙工,有單工,有實時性要求高的,有資料量大的,有允許丟數重傳的,串列埠的重要性也可以分級,另外,有dma可以用,(dma是匯流排主裝置,相當於乙個CPU),這些形成了對串列埠使用的限制條件。只要資料量不超過MCU的處理能力,是可以預先安排好的。

沒有通用的串列埠程式,只有專案中的多串列埠使用例項。

2樓:文蟲並雕

這麼簡單的東西還需要提問嗎。。1個uart的demo給你了?不就是給了8個的?

就改下io閾和pin 的事情,很難理解嗎。。

3樓:Cacilll

這種東西都需要開源嗎?

串列埠這種最基本的東西都還需要網上找別人的程式用,就乙個串列埠都寫不好還能做什麼???點燈大師還是蜂鳴器大師?有時間去上網抄程式花一點時間去翻翻手冊寫乙個不行?

stm32常用的好幾個手冊還是中文的,再不濟用HAL總行吧,這玩意教程應該也不少,HAL都已經簡單到有手就能配好串列埠了還不會的話那就別整微控制器趁早改行找乙個不需要動腦子的職業去吧

Linux不是開源的嗎,為什麼RedHat的伺服器版那麼貴?

itux 首先,free是自由的意思不是免費。其次,6000買的是訂閱服務不是授權,你不買服務也可以用。最後,6000真的很便宜,因為你無需購買所有的服務支援。國內很多自己改開源軟體的公司,服務都不止6000這種標準。 羅貝爾 還是需求決定的。開源軟體是不要錢,但是使用不方便,文件什麼的也不全,也不...

為什麼STM32的HAL庫那麼難用,ST還是要硬推HAL庫?

改名大師 先問是不是,再問為什麼。我個人感覺hal相比寫暫存器好用太多,當然hal自己也有缺點,比如不夠抽象,比如一些引數型別不夠規範。hal很符合人類的直覺,比如你想呼叫串列埠,輸入HAL UART,語法補全裡就自動出現你想要的了。實際上我甚至根本沒系統學過stm32開發,全靠編輯器的自動補全學的...

為什麼遊戲行業的開源做得如此之差?

Seanan 因為大部分你玩的遊戲都是WINDOWS平台的,而WINDOWS平台沒有什麼開源文化,如果是LINUX平台的遊戲,那應該是開源的吧,個人猜測。另外傳奇和成吉思汗應該算是開源吧,傻笑。至於你說分享框架和研發技術,這個我深表同意!我最受不了的是,每款遊戲都有UI而每款遊戲都要從頭做UI,就連...