寫在前面:
本文章為《ARM Cortex-M4裸機開發篇》系列中的一篇,,全系列總計14篇。筆者使用的開發平臺為華清遠見FS-MP1A開發板(STM32MP157開發板),Cortex-M4裸機開發篇除了講M4裸機開發外,還會講解通過M4控制資源擴展板上的各種傳感器執行器模塊(包括空氣溫濕度傳感器、LED燈、數碼管、蜂鳴器、震動馬達、按鍵中斷、風扇等),本篇是M4控制資源擴展板中的一篇。
資源擴展板是FS-MP1A開發板的擴展模塊,主要包含了10余種助主流傳感器、執行器件、總線控制器件,非常方便項目擴展用。可拓展開發智慧家庭、智能醫療、智能安防、工業控制、圖像識別、環境檢測等方向的10個左右綜合項目,華清遠見開發板也將配套提供所有項目的說明文檔、實驗源碼、應用程序等資料。
針對FS-MP1A開發板,除了Cortex-M4裸機開發篇外,還包括其他多系列教程,包括Cortex-A7開發篇、FreeRTOS篇、Linux基礎及應用開發篇、Linux系統移植篇、Linux驅動開發篇、硬件設計篇、人工智能機器視覺篇、Qt應用編程篇、Qt綜合項目實戰篇等。
資源擴展板介紹
硬件介紹&資源擴展板可開發項目
擴展板LED燈控制
實驗原理
打開擴展板原理圖對照擴展板可以看到擴展板有四個LED燈,其中LED4為底板電壓指示燈,LD1、LD2、LD3為可控LED,原理如下:
有圖可知,當LED1為高電平是三極管Q1導通,這時發光二極管LED1會被點亮,同理當LED2和LED3為高電平時LD2、LD3會被點亮。
查看原理圖可知LED1、LED2、LED3分別對應STM32MP157芯片的PE10、PF10、PE8如下圖:
擴展板與底板接口對照圖
根據網絡編號可最終追至CPU對應管腳,由于上圖已經可以明確LED燈對應管腳。
原理圖網絡編號 | 對應管腳 | 管腳功能 | 管腳功能碼 |
LED1 | PE10 | GPIO | ANALOG |
LED2 | PF10 | GPIO | ANALOG |
LED3 | PE8 | GPIO | ANALOG |
實驗目的
了解LED工作原理
學習GPIO口的使用方法,掌握如何利用STM32MP157A芯片的I/O口控制LED
實驗環境
FS-MP1A開發平臺
ST-Link仿真器
STM32CubeIDE開發軟件
PC機 XP、Window7/10 (32/64bit)
實驗步驟
打開STM32CubeIDE,配置CubeMX。
搜索框內搜索擴展板LED對應GPIO引腳PE8、PE10、PF10,左鍵點擊設置為GPIO_Output
這里我們需要注意一下,和其他單片機不同,還需要繼續設置“ Pin Reservation”給“ Cortex-M4”,否則STM32CubeMX不會生生成GPIO初始化相關代碼。具體操作:在剛才選擇的引腳上,鼠標右鍵選擇“ Pin Reservation”->“ Cortex-M4”。
在Code Generator處選擇為每個外設生成單獨的C和H文件,這樣設置方便閱讀代碼
完成以上設置后,Ctrl+S保存,會提示是否需要生成代碼,選擇Yes即可自動生成代碼。系統會自動生成System Clock代碼
上述為新建工程配置過程,可參考12.3.2章節進行導入已有工程,工程存放路徑【華清遠見-FS-MP1A開發資料\02-程序源碼\ARM體系結構與接口技術\Cortex-M4\7_EX_GPIO_LED】
添加GPIO函數說明:
我們需要在main.c中添加GPIO相關函數, GPIO引腳輸出電平高低函數
void bsp_led_on(void)
{
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_10,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_SET);
}
void bsp_led_off(void)
{
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_10,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_RESET);
}
在main.c中調用函數改變GPIO引腳高低電平來改變LED燈的狀態
-
單片機
+關注
關注
6040文章
44604瀏覽量
637099 -
嵌入式
+關注
關注
5088文章
19160瀏覽量
306584 -
Linux
+關注
關注
87文章
11331瀏覽量
210006 -
STM32
+關注
關注
2270文章
10918瀏覽量
356842 -
開發板
+關注
關注
25文章
5100瀏覽量
97855
發布評論請先 登錄
相關推薦
評論