回覆列表
  • 1 # 使用者4915604778798

    首先,最淺的一個層次,會使用庫函式對GPIO進行最簡單的配置。然後能執行一個跑馬燈,讀取一個按鍵輸入。這步通了,也就完成了hello world 任務。

    第二個層次,可以用庫函式,結合一定的演算法,和其他外設,使用io完成一些複雜的功能。比如使用定時器和io可以做pwm;使用exti和io實現外部輸入中斷,使用多個io組成並口,實現並口資料傳輸,用來控制lcd;或者模擬一些匯流排時序,比如i2c,spi等。

    第三個層次,從硬體層面吃透io,因為不懂硬體的軟體工程師不是好嵌入式工程師。你得知道GPIO各種工作模式有什麼區別,pp,od,ipu,ipd,floating這些模式對應的電路都是什麼樣的,都應該什麼時候用。熟能生巧,硬體軟體融會貫通。很多人做了多年嵌入式,仍然搞不清楚什麼時候該用od,什麼時候該用pp,什麼時候該用floating ,儘管有的時候你選錯了可能不影響功能,但是有的時候你不知道這些原理就可能被坑死。

    最後,再變態一點的,如果你的專案預算或者板子尺寸只能允許你用某一封裝的晶片,你要有能把晶片每一個引腳功能都榨乾的能力,什麼remap,jtag,boot0,boot1之類的特殊引腳都用上,挑戰一下極限。另外,stm32有些引腳是相容5v電平的,有些則不能。用好這些功能在應對一些極限需求時是可以變不可能為可能的。

    總之,做嵌入式,一定要軟硬兼修,加油吧!

  • 中秋節和大豐收的關聯?
  • 表示關係友好的成語有哪些?