is called by main() when no RTOS is used.
**********************************************************************************************************************/
void hal_entry(void)
{
/* TODO: add your own code here */
fsp_err_t err;
/* Open SLCDC driver */
err = R_SLCDC_Open(&g_slcdc0_ctrl, &g_slcdc0_cfg);
/* Handle any errors. This function should be defined by the user. */
assert(FSP_SUCCESS == err);
/* When using internal boost mode this delay is required to allow the boost circuit to charge. See RA4M1 User's
-
Manual (R01UH0887EJ0100) 8.2.18 "Segment LCD Source Clock Control Register (SLCDSCKCR)" for details. */
R_BSP_SoftwareDelay(5, BSP_DELAY_UNITS_MILLISECONDS);
/* Start SLCDC output */
err = R_SLCDC_Start(&g_slcdc0_ctrl);
assert(FSP_SUCCESS == err);
/* Set Display Area of SLCDC driver.*/
// err = R_SLCDC_SetDisplayArea(&g_slcdc0_ctrl, SLCDC_DISP_A);
// assert(FSP_SUCCESS == err);
//准备并写入段显示数据,第一个数码管显示1
uint8_t segment_data_num1[] = {
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x6
};
R_SLCDC_Write(&g_slcdc0_ctrl, 0, segment_data_num1, sizeof(segment_data_num1));
R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);
//准备并写入段显示数据,第二个数码管显示2
uint8_t segment_data_num2[] = {
0xE,0x3};
R_SLCDC_Write(&g_slcdc0_ctrl, 15, segment_data_num2, sizeof(segment_data_num2));
R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);
//准备并写入段显示数据,第三个数码管显示3
R_SLCDC_Modify(&g_slcdc0_ctrl, 22, 0xA, 0xF);
R_SLCDC_Modify(&g_slcdc0_ctrl, 23, 0x7, 0xF);
R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);
//准备并写入段显示数据,第四个数码管显示4
R_SLCDC_Modify(&g_slcdc0_ctrl, 24, 0x3, 0xF);
R_SLCDC_Modify(&g_slcdc0_ctrl, 29, 0x6, 0xF);
R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);
//准备并写入段显示数据,第五个数码管显示5
R_SLCDC_Modify(&g_slcdc0_ctrl, 30, 0xB, 0xF);
R_SLCDC_Modify(&g_slcdc0_ctrl, 39, 0x5, 0xF);
R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);
//准备并写入段显示数据,第六个数码管显示6
R_SLCDC_Modify(&g_slcdc0_ctrl, 40, 0xF, 0xF);
R_SLCDC_Modify(&g_slcdc0_ctrl, 41, 0x5, 0xF);
R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);
UART9_Init();
hal_systick_init();
ebtn_APP_Key_INIT();
printf("\r\n欢迎来到瑞萨电子\r\n");
printf("很高兴试用RA4L1开发板********\r\n");
printf("串口输出打印 波特率115200\r\n\r\n");
while (1)
{
/* USER CODE END WHILE */
//HAL_Delay(300);
/* USER CODE BEGIN 3 */
switch(button_count)
{
case 1:
LED1_LED2_ON();
printf("LED1 LED2 同时亮\r\n");
break;
case 2:
LED1_LED2_1();
printf("LED1先亮200ms 熄灭 然后LED2亮200ms 熄灭 重复\\r\\n");
break;
case 3:
LED1_LED2_2();
printf("LED1 LED2同时亮200ms 熄灭200ms 重复\\r\\n");
break;
case 4:
led_1_flicker();
printf("led1闪烁\\r\\n");
break;
case 5:
led_2_flicker();
printf("led2闪烁\\r\\n");
break;
case 6:
led_3_flicker();
printf("led3闪烁\\r\\n");
break;
default:
LED1_LED2_OFF();
break;
}