欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
野火挑戰者USART1控制LED彩燈程序測試成功
[打印本頁]
作者:
啊大王
時間:
2019-4-12 10:16
標題:
野火挑戰者USART1控制LED彩燈程序測試成功
兩個按鍵控制彩燈的紅、綠燈反轉,按一下KEY1 紅燈反轉一次,按一下KEY2,綠燈反轉一次。
使用EXTI中斷方式檢測按鍵輸入。
檢測到按鍵引腳上升沿會進入中斷,在stm32f4xx_it.c文件中的中斷服務函數處理。
學習目的:了解STM32的中斷系統。
【*】 引腳分配
KEY:
兩個按鍵均有硬件去抖,按下的時候均為高電平,不按時為低電平。
KEY1<--->PA0
KEY2<--->PC13
LED:
RGB彩燈的三個陰極接到STM32三個引腳上,LED低電平亮。
R<--->PH10
G<--->PH11
B<--->PH12
LED4<--->PD11
單片機源程序如下:
#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 這是一個通訊串口的實驗控制RGB彩燈 \n");
printf(" 使用 USART1 參數為:%d 8-N-1 \n",DEBUG_USART_BAUDRATE);
printf("開發板接到的指令后控制RGB彩燈顏色,指令對應如下: \n");
printf(" 指令 ---------------燈的顏色\n");
printf(" 1 ------- --------紅\n");
printf(" 2 ------- --------綠\n");
printf(" 3 ------- --------藍\n");
printf(" 4 ------- --------黃n");
printf(" 5 ------- --------紫\n");
printf(" 6 ------- --------青\n");
printf(" 7 ------- --------白\n");
printf(" 8 ------- --------滅\n");
}
/**
* @brief 主函數
* @param 無
* @retval 無
*/
int main(void)
{
char ch;
/* LED 端口初始化 */
LED_GPIO_Config();
/* 初始化EXTI中斷,按下按鍵會觸發中斷,
* 觸發中斷會進入stm32f4xx_it.c文件中的函數
* KEY1_IRQHandler和KEY2_IRQHandler,處理中斷,反轉LED燈。
*/
EXTI_Key_Config();
/* 等待中斷,由于使用中斷方式,CPU不用輪詢按鍵 */
Debug_USART_Config();
show_Message();
Usart_SendString(DEBUG_USART,"串口發送接收");
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**********************/
復制代碼
所有資料51hei提供下載:
10-EXTI—外部中斷.7z
(352.51 KB, 下載次數: 25)
2019-4-12 16:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1