|
兩個(gè)按鍵控制彩燈的紅、綠燈反轉(zhuǎn),按一下KEY1 紅燈反轉(zhuǎn)一次,按一下KEY2,綠燈反轉(zhuǎn)一次。
使用EXTI中斷方式檢測按鍵輸入。
檢測到按鍵引腳上升沿會(huì)進(jìn)入中斷,在stm32f4xx_it.c文件中的中斷服務(wù)函數(shù)處理。
學(xué)習(xí)目的:了解STM32的中斷系統(tǒng)。
【*】 引腳分配
KEY:
兩個(gè)按鍵均有硬件去抖,按下的時(shí)候均為高電平,不按時(shí)為低電平。
KEY1<--->PA0
KEY2<--->PC13
LED:
RGB彩燈的三個(gè)陰極接到STM32三個(gè)引腳上,LED低電平亮。
R<--->PH10
G<--->PH11
B<--->PH12
LED4<--->PD11
單片機(jī)源程序如下:
- #include "stm32f4xx.h"
- #include "./led/bsp_led.h"
- #include "./key/bsp_exti.h"
- #include "./usart/bsp_debug_usart.h"
- void Delay(__IO u32 nCount);
- /*************************輸出提示信息*************************************/
- static void show_Message(void)
- {
- printf("\r\n 這是一個(gè)通訊串口的實(shí)驗(yàn)控制RGB彩燈 \n");
- printf(" 使用 USART1 參數(shù)為:%d 8-N-1 \n",DEBUG_USART_BAUDRATE);
- printf("開發(fā)板接到的指令后控制RGB彩燈顏色,指令對應(yīng)如下: \n");
- printf(" 指令 ---------------燈的顏色\n");
- printf(" 1 ------- --------紅\n");
- printf(" 2 ------- --------綠\n");
- printf(" 3 ------- --------藍(lán)\n");
- printf(" 4 ------- --------黃n");
- printf(" 5 ------- --------紫\n");
- printf(" 6 ------- --------青\n");
- printf(" 7 ------- --------白\n");
- printf(" 8 ------- --------滅\n");
-
- }
- /**
- * @brief 主函數(shù)
- * @param 無
- * @retval 無
- */
-
- int main(void)
- {
- char ch;
- /* LED 端口初始化 */
- LED_GPIO_Config();
-
- /* 初始化EXTI中斷,按下按鍵會(huì)觸發(fā)中斷,
- * 觸發(fā)中斷會(huì)進(jìn)入stm32f4xx_it.c文件中的函數(shù)
- * KEY1_IRQHandler和KEY2_IRQHandler,處理中斷,反轉(zhuǎn)LED燈。
- */
- EXTI_Key_Config();
- /* 等待中斷,由于使用中斷方式,CPU不用輪詢按鍵 */
- Debug_USART_Config();
-
- show_Message();
-
- Usart_SendString(DEBUG_USART,"串口發(fā)送接收");
-
-
- while(1)
- {
- ch = getchar();
- printf("接收到的字符:%c\n",ch);
-
- switch(ch)
- {
- case '1':
- LED_RED;
- break;
- case '2':
- LED_GREEN;
- break;
- case '3':
- LED_BLUE;
- break;
- case '4':
- LED_YELLOW;
- break;
- case '5':
- LED_PURPLE;
- break;
- case '7':
- LED_CYAN;
- break;
- case '8':
- LED_WHITE;
- break;
- case '9':
- LED_RGBOFF;
- break;
-
- }
- }
- }
- /*********************************************END OF FILE**********************/
復(fù)制代碼
所有資料51hei提供下載:
10-EXTI—外部中斷.7z
(352.51 KB, 下載次數(shù): 25)
2019-4-12 16:30 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|