一、前言
E3 是芯馳半導體推出的高等級高功能安全的 MCU 產品。
E3 SSDK PTG2.0 支持 Gateway 參考板,採用常見的 MCU SDK 架構:
圖1 SDK 架構
默認不依賴 RTOS:FreeRTOS 作為單獨的組件集成在 SDK 中(而不是一個層次),Driver demo 默認不啟動 FreeRTOS,應用可以根據需要,在自己的 main() 函數裡啟動 FreeRTOS 調度器。
不定義驅動抽象層,每個IP的driver直接向應用層提供接口。為每個驅動提供多個單獨的demo工程,本文主要介紹了 driver_demo 的 GPIO 模塊測試代碼,完成 GPIO 進入中斷後的輸入輸出。
硬體平台:芯馳 E3640 E3_GATEWAY_A03 開發板
軟體平台:SemiDrive_E3 SSDK PTG2.0
二、HandsOn
2.1、Datasheet手冊中查看引腳信息,這裡結合硬體原理圖選用 GPIO_S0、GPIO_S8、GPIO_S9完成測試。
圖2.1 引腳復用相關
2.2、電氣原理圖部分:
圖2.2 原理圖相關
2.3、SDToolBox 中選擇 SDConfigTool,進行引腳配置後,Save Config 生成配置文件。
圖 2.3.1 SDConfigTool 配置
PinConfig 里有一項 Input Select:選擇了Schmitt(施密特觸發器),用於輸入電壓整形(當輸入電壓大於高閾值時輸入為高,當輸入電壓小於低閾值輸入為低)。
圖 2.3.2 PinConfig
2.4、配置後生成的文件:(其中.prj 文件可以使用 SDConfigTool 打開)
圖 2.4 生成的配置文件
2.5、根據生成的文件,替換例程的引腳配置代碼(與 SDConfigTool 中的配置一致)。
圖 2.5 示例代碼
三、運行現象:(期間 LED 會隨之閃滅)
圖 3 運行現象
四、程序分析
示例程序運行後,先進行一系列初始化配置。根據設置好的觸發中斷類型,一旦條件滿足就會跳轉到中斷處理函數 gpio_interrupt_handler(),進行讀取、列印、翻轉電平操作。
圖 4 代碼分析
註:因為中斷檢測使用的引腳接到了排針,實際操作時會出現拔插一次,串口列印多次、LED 連續閃爍的現象。
五、參考文檔
《E3400_E3600_MCU_Datasheet_Rev00.16》
《SemiDrive_E3_SSDK_User_Guide》
《SD103_E3_REF_GATEWAY_ePOWERTRAIN產品用戶手冊》
歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
作者:Alan Li / 李亞楠
評論