S32K312基於Emios模組實現呼吸燈

關鍵字 :s32k312LEDIPs32ds開發板s32k3s32k3xx世平WPISDK

本文將透過在S32DS中導入官方的Emios範例程式並進行適配,實現開發板LED的控制。透過這個專案,我們將了解開發板Emios模組的使用方法。

 

軟體環境

  1. S32DS 用於 S32 工作環境
  2. S32K3 RTD AUTOSAR 4.4 SDK

 

硬體環境

  1. Knight S32K312 評估板
  2. J-Link Debug 燒錄器

 

打開S32DS,點擊「File」→「New」→「S32DS Project from Example」,在彈出的對話框中選擇「S32K3 RTD AUTOSAR 4.4 2.0.1 D2207 Example Projects」,然後在下方找到「PWM S32K3xx Examples」,選擇「Emios_Pwm_Ip_Example_S32K312」,點擊「Finish」完成專案匯入。


雙擊打開專案資料夾下的“Emios_Pwm_Ip_Example_DS.mex”,進入專案配置頁面。

按照之前部落格文章的步驟,將晶片封裝改為S32K312 100pin以適配Knight評估板,此步驟略過。此時配置頁面會出現錯誤。首先在引腳頁面會報PTA29錯誤,可能是因為100pin封裝沒有此引腳,或者功能不正確。我們可以將其刪除。


 

然後剩下PTB12、PTB16,分別是原封裝的兩個eMIOS引腳,一個作為基準MasterBus,可以理解為reference source;另一個則是原開發板的LED燈引腳。我們可以刪除PTB16,改為Knight評估板的藍燈PTB8,選擇最後一個複用功能 eMios_1:ch_h,15。


 

此時尚未解決全部錯誤,轉到外設頁面,可以看到Emios相關有兩個模組:Emios_Mcl_Ip_1和Emios_Pwm_1。前一個模組即為PTB12作為MaserBus的配置模組,後一個是我們主要關注的,可以進行配置修改的PWM輸出的模組。

打開第二個模組Emios_Pwm_1。在Emios Instance部分,我們也需要刪除第一個配置Emios_0,因為原專案設定了兩個輸出,我們只需要一個輸出PTB8(Emios_1,ch15)。


刪除前


刪除後

刪除後我們只需要修改Emios的Channel Id為CH_15就可以了。此時更新原始碼,就不會有錯誤了。

回到專案程式碼頁面,main.c檔案。這個範例中,我們將原本的CH4、CH12改為了CH15,且CH12和CH15都屬於同一個模組Emios_1,所以我們可以註解掉所有包含CH4的程式碼,並將CH12修改為CH15。

 定義增加CH15:


註解CH4相關程式碼,將CH12替換為CH15:



此時,我們專案的 while 迴圈裡還不是我們想要的呼吸燈函數,但可以看出我們可以透過更改 PWM 的 dutyCycle 來改變 LED 燈的亮度。在這裡,我們可以用自己的呼吸燈函數替換掉原有的 while 迴圈。


編譯程式並燒錄到評估板後,可以看到藍燈進入呼吸模式,大功告成!


 

當然,呼吸的快慢,以及更加順暢的呼吸效果,都可以透過修改參數來實現,這裡就不多贅述了。

文章來自「S32K312 開發板評測活動」測評者:阚準
 

 

歡迎在博文下方留言評論,我們會儘快回覆您的問題。

如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:WPIg

更多資訊,請掃碼關注我們!
 

 

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

:

評論