18.5.3
下載驗證
保證開發板相關硬件連接正確,用Type-C USB線連接開發板“USB TO UART”接口跟電腦。本次實驗需要使用到串口調試助手,配置好串口參數并打開串口后,在調試助手的發送區域輸入任意字符并點擊發送,即可在接收區看見相同字符,如圖19_17。

圖19-17 實驗1 下載驗證
18.6
實驗2:UART指令控制RGB燈
正如之前所講,可以在串口調試助手輸入指令,讓開發板根據這些指令執行一些任務,現在我們編寫程序讓開發板接收UART數據,然后根據數據內容控制RGB彩燈的顏色。
18.6.1
硬件設計
本實驗使用到開發板的串口和LED燈,其原理圖在本章實驗1和前面的點亮LED燈章節有介紹,這里不進行贅述。
18.6.2
軟件設計
18.6.2.1
新建工程
因為本節的UART實驗例程與上一個實驗例程的FSP配置以及UART相關的一些代碼基本一致,因此我們可以直接以前面的“19_UART_Receive_Send”工程為基礎進行修改。
對于e2studio開發環境:拷貝一份我們之前的e2s工程模板“19_UART_Receive_Send”,然后將工程文件夾重命名為“19_UART_LED_Control”,最后再將它導入到我們的e2studio工作空間中。
對于Keil開發環境:拷貝一份我們之前的Keil工程模板“19_UART_Receive_Send”,然后將工程文件夾重命名為“19_UART_LED_Control”,并進入該文件夾里面雙擊Keil工程文件,打開該工程。
FSP配置完全一致,因此我們省略掉這部分。
18.6.2.2
串口中斷回調函數
我們需要在串口中斷回調函數,也就是debug_uart4_callback函數里判斷接收到的字符,并根據所接收到的不同字符做出不同的操作。修改debug_uart4_callback函數的代碼,如下所示。
列表6:代碼清單19-5:串口中斷回調函數
左右滑動查看完整內容
/* 串口中斷回調 */
voiddebug_uart4_callback(uart_callback_args_t * p_args)
{
switch (p_args->event)
{
case UART_EVENT_RX_CHAR:
{
/* 根據字符指令控制 RGB 彩燈顏色 */
switch (p_args->data)
{
case'1':
LED1_ON;
break;
case'2':
LED2_ON;
break;
case'3':
LED3_ON;
break;
case'4':
LED1_OFF;
break;
case'5':
LED2_OFF;
break;
case'6':
LED3_OFF;
break;
case'7':
LED1_ON; LED2_ON; LED3_ON;
break;
case'8':
LED1_OFF; LED2_OFF; LED3_OFF;
break;
default:
break;
}
break;
}
case UART_EVENT_TX_COMPLETE:
{
uart_send_complete_flag =true;
break;
}
default:
break;
}
}
18.6.2.3
hal_entry入口函數
在hal_entry函數里面我們進行硬件初始化之后,首先打印提示信息,提醒用戶從串口輸入數字字符。然后默認關閉所有LED燈,在while循環里什么都不做,等待用戶的輸入。
列表7:代碼清單19-6:hal_entry入口函數
左右滑動查看完整內容
voidhal_entry(void)
{
/*TODO:add your own code here */
LED_Init();// LED 初始化
Debug_UART4_Init();// SCI4 UART 調試串口初始化
printf("這是一個串口控制 LED 例程
");
printf("打開串口助手發送以下指令,控制 LED 的狀態
");
printf (" 指令 ------ 狀態
");
printf (" 1 ------ LED1_ON
");
printf (" 2 ------ LED2_ON
");
printf (" 3 ------ LED3_ON
");
printf (" 4 ------ LED1_OFF
");
printf (" 5 ------ LED2_OFF
");
printf (" 6 ------ LED3_OFF
");
printf (" 7 ------ LED 全亮
");
printf (" 8 ------ LED 全滅
");
LED1_OFF;LED2_OFF;LED3_OFF;//默認關閉所有 LED 燈
while(1)
{
}
#ifBSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
18.6.3
下載驗證
保證開發板相關硬件連接正確,用Type-C線連接開發板“USB TO UART”接口跟電腦,在電腦端打開串口調試助手,把編譯好的程序下載到開發板,此時串口調試助手即可收到開發板發過來的數據。我們在串口調試助手發送區域輸入一個特定字符,點擊發送按鈕,LED燈狀態隨之改變。
-
led
+關注
關注
243文章
24458瀏覽量
688080 -
RGB
+關注
關注
4文章
820瀏覽量
61568 -
串口
+關注
關注
15文章
1608瀏覽量
82060 -
uart
+關注
關注
22文章
1305瀏覽量
106186 -
開發板
+關注
關注
26文章
6161瀏覽量
114174
原文標題:實驗2:UART指令控制RGB燈——瑞薩RA系列FSP庫開發實戰指南(48)
文章出處:【微信號:瑞薩嵌入式小百科,微信公眾號:瑞薩嵌入式小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
LED燈RGB藍牙4.0控制方案
【MiCO教學貼】MiCO 團隊再放體驗,語音控制 RGB 燈
如何使用MS51 PWM來控制UART的RGB LED
使用Arduino的Android控制RGB LED燈條
UART軟件控制的RGB LED混色與MSP430? MCU

UART指令控制RGB燈實驗
評論