加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

CAN通信顯示控制器在汽車左右轉(zhuǎn)向,剎車,車速,測距等方面的應(yīng)用

05/14 09:29
4014
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
電路板圖(3)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

一、項目名稱:

CAN通信顯示控制器

二、項目概述:

本系統(tǒng)是基于M7內(nèi)核的STM32H7B3主芯片,主頻可達280MHz,內(nèi)部有兩路FDCAN,使用FDCAN1與外部CAN設(shè)備進行通信,接收CAN設(shè)備數(shù)據(jù)在顯示屏上顯示。系統(tǒng)移植了freeRTOS系統(tǒng)和LVGL圖形庫,采集了汽車的左右轉(zhuǎn)向信號、剎車信號、車速、測距傳感器的距離信號。

2.1、系統(tǒng)框圖

控制去采集車輛的信號、速度信息及一些控制執(zhí)行機構(gòu)等,開發(fā)板顯示屏顯示要獲取的信號和數(shù)據(jù),通過顯示屏可設(shè)置設(shè)備的參數(shù)和控制命令信息等,實現(xiàn)人機交互。

2.2、創(chuàng)建任務(wù)

freeRTOS系統(tǒng)創(chuàng)建3個任務(wù)

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);
}
}

復(fù)制代碼

三、作品實物圖

設(shè)備運行的界面1

設(shè)備運行的界面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, 下載次數(shù): 1)

 

  • stm32h7b3i_freertos_lvgl8_3_prj_20210119-1.7z

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
ADF4106BRUZ-RL 1 Analog Devices Inc 6 GHz integer-N PLL

ECAD模型

下載ECAD模型
暫無數(shù)據(jù) 查看
NCV70627DQ001R2G 1 onsemi LIN Microstepping Motor Driver 800mA, SSOP-36L EXPOSED PAD, 1500-REEL
$6.08 查看
TLC555IDR 1 Texas Instruments 2.1-MHz, 250-µA, Low-Power Timer 8-SOIC -40 to 85

ECAD模型

下載ECAD模型
$0.8 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜