一、项目名称:
二、项目概述:
本系统是基于M7内核的STM32H7B3主芯片,主频可达280MHz,内部有两路FDCAN,使用FDCAN1与外部CAN设备进行通信,接收CAN设备数据在显示屏上显示。系统移植了freeRTOS系统和LVGL图形库,采集了汽车的左右转向信号、刹车信号、车速、测距传感器的距离信号。
2.1、系统框图
控制去采集车辆的信号、速度信息及一些控制执行机构等,开发板显示屏显示要获取的信号和数据,通过显示屏可设置设备的参数和控制命令信息等,实现人机交互。
2.2、创建任务
freeRTOS系统创建3个任务
2.3、freeRTOS部分代码
void task_create(void)
{
init_usart(115200);
lv_init();
tft_init();
init_touch();
//start_task
xTaskCreate((TaskFunction_t )start_task,
(const char* )"start_task",
(uint16_t )START_STK_SIZE,
(void* )NULL,
(UBaseType_t )START_TASK_PRO,
(TaskHandle_t* )&StartTask_Handler);
vTaskStartScheduler();
}
void start_task(void *pvParameters)
{
taskENTER_CRITICAL();
BinarySemaphore = xSemaphoreCreateBinary();
if(BinarySemaphore == NULL)
{
printf("Binary Sem Create Failed!rn");
}
//gui
xTaskCreate((TaskFunction_t )gui_task,
(const char* )"gui_task",
(uint16_t )GUI_STK_SIZE,
(void* )NULL,
(UBaseType_t )GUI_TASK_PRIO,
(TaskHandle_t* )&GuiTask_Handler);
//task1
xTaskCreate((TaskFunction_t )task1,
(const char* )"task1",
(uint16_t )TASK1_STK_SIZE,
(void* )NULL,
(UBaseType_t )TASK1_PRIO,
(TaskHandle_t* )&Task1Task_Handler);
//task2
xTaskCreate((TaskFunction_t )task2,
(const char* )"task2",
(uint16_t )TASK2_STK_SIZE,
(void* )NULL,
(UBaseType_t )TASK2_PRIO,
(TaskHandle_t* )&Task2Task_Handler);
taskEXIT_CRITICAL();
vTaskDelete(StartTask_Handler);
}
//gui
void gui_task(void *pvParameters)
{
setup_ui(&guider_ui);
events_init(&guider_ui);
while (1)
{
lv_timer_handler();
vTaskDelay(5);
}
}
//task1
void task1(void *pvParameters)
{
uint8_t d=0;
char buf[4];
while (1)
{
printf("task1 run ...rn");
led2_tog();
d++;
run_flag=1;
vTaskDelay(100);
}
}
uint8_t fdcan_txdat[20];
uint8_t fdcan_rxbuf[20];
//task2
void task2(void *pvParameters)
{
uint8_t jj=0;
init_fdcan();
while (1)
{
jj++;
fdcan_txdat[0]=jj;
fdcan_txdat[1]=0x01;
//fdcan_send_msg(fdcan_txdat, FDCAN_DLC_BYTES_8);
if(fdcan_receive_msg(fdcan_rxbuf) !=0 )
{
printf("canrxrn");
xSemaphoreGive( BinarySemaphore );
}
led3_tog();
//printf("task2 run ...rn");
vTaskDelay(20);
}
}
复制代码
三、作品实物图
设备运行的界面1
设备运行的界面2
四、演示视频
视频:https://www.bilibili.com/video/BV1WK411e7u4/?share_source=copy_web&vd_source=5c43653ace8c8d4fcf66f8c04f6574a4
五、项目文档
程序文档: stm32h7b3i_freertos_lvgl8_3_prj_20210119-1.7z (16.19 MB, 下载次数: 1)