本期為大家推送迪文開發者論壇獲獎開源案例——基于T5L智能屏的汽車抬頭顯示器方案。該方案采用COF智能屏,通過T5L CAN接口,實時獲取汽車OBDII診斷接口的數據,并將接收到的車速和轉速數據同步顯示在屏幕上,為駕駛員在行車過程中提供直觀、便捷的視覺輔助。
UI素材展示
GUI工程設計 C51工程設計
通過T5L CAN接口,獲取車速和轉速數據,部分參考代碼如下:
void main(void){ T5LInit(); T0_Init(); // 定時器0初始化 EA = 1; //等待上電穩定 TimerExtDelayMs(2000); GaugeViewInit(); while (1) { //obdii系統進入識別 if (ObdiiSysEnter()) { break; } } //HUD功能主入口 GaugeViewFunc();}
void GaugeViewFunc(void){ uint8_t rawDataBuff[256]; uint8_t resultBuff[5]; float vehicleSpeed = 0; float rotateSpeed = 0; uint32_t tempData = 0; while (1) { memset(rawDataBuff, 0, 256); // 讀取轉速 if (ObdiiReadPid(rawDataBuff, 2, 0x01, 0x0C)) { ObdiiLdsCalResult(0x0C, rawDataBuff, resultBuff); tempData = resultBuff[3]; tempData = resultBuff[2] + (tempData << 8); tempData = resultBuff[1] + (tempData << 8); tempData = resultBuff[0] + (tempData << 8); rotateSpeed = (float)tempData; GaugeViewRotateSpeedSet(rotateSpeed); } memset(rawDataBuff, 0, 256); // 讀取車速 if (ObdiiReadPid(rawDataBuff, 2, 0x01, 0x0D)) { ObdiiLdsCalResult(0x0D, rawDataBuff, resultBuff); tempData = resultBuff[3]; tempData = resultBuff[2] + (tempData << 8); tempData = resultBuff[1] + (tempData << 8); tempData = resultBuff[0] + (tempData << 8); vehicleSpeed = (float)tempData; GaugeViewPointerSet((uint8_t)vehicleSpeed); GaugeViewVehicleSpeedSet(vehicleSpeed); } }}void GaugeViewFunc(void){ uint8_t rawDataBuff[256]; uint8_t resultBuff[5]; float vehicleSpeed = 0; float rotateSpeed = 0; uint32_t tempData = 0; while (1) { memset(rawDataBuff, 0, 256); // 讀取轉速 if (ObdiiReadPid(rawDataBuff, 2, 0x01, 0x0C)) { ObdiiLdsCalResult(0x0C, rawDataBuff, resultBuff); tempData = resultBuff[3]; tempData = resultBuff[2] + (tempData << 8); tempData = resultBuff[1] + (tempData << 8); tempData = resultBuff[0] + (tempData << 8); rotateSpeed = (float)tempData; GaugeViewRotateSpeedSet(rotateSpeed); } memset(rawDataBuff, 0, 256); // 讀取車速 if (ObdiiReadPid(rawDataBuff, 2, 0x01, 0x0D)) { ObdiiLdsCalResult(0x0D, rawDataBuff, resultBuff); tempData = resultBuff[3]; tempData = resultBuff[2] + (tempData << 8); tempData = resultBuff[1] + (tempData << 8); tempData = resultBuff[0] + (tempData << 8); vehicleSpeed = (float)tempData; GaugeViewPointerSet((uint8_t)vehicleSpeed); GaugeViewVehicleSpeedSet(vehicleSpeed); } }}
-
顯示器
+關注
關注
21文章
5017瀏覽量
140465 -
開源
+關注
關注
3文章
3412瀏覽量
42740 -
智能屏幕
+關注
關注
0文章
66瀏覽量
3417
發布評論請先 登錄
相關推薦
【開源獲獎案例】基于T5L芯片的調音臺麥克風混響回聲控制
![【<b class='flag-5'>開源</b><b class='flag-5'>獲獎</b>案例】基于<b class='flag-5'>T5L</b>芯片的調音臺麥克風混響回聲控制](https://file.elecfans.com/web2/M00/2A/81/poYBAGHKtJGANsQ1AAT-FWnPlz8451.jpg)
觸摸屏與傳統顯示器比較
![](https://file1.elecfans.com/web3/M00/01/F4/wKgZPGdaM-OAEnH6ABGNjsdL7AU034.png)
DLP3030-Q1抬頭顯示器(HUD)Piccolo SPI用戶手冊
![DLP3030-Q1<b class='flag-5'>抬頭</b><b class='flag-5'>顯示器</b>(HUD)Piccolo SPI用戶手冊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
ADAYO華陽參與《汽車座艙電子信息抬頭顯示器》團體標準工作組研討會
增強現實抬頭顯示和數字抬頭區別
基于T5L芯片的多功能物聯網開發套件
![基于<b class='flag-5'>T5L</b>芯片的多功能物聯網開發套件](https://file.elecfans.com/web2/M00/2A/81/poYBAGHKtJGANsQ1AAT-FWnPlz8451.jpg)
愛普生HUD芯片車規晶振和陀螺儀的汽車抬頭顯示系統方案
![愛普生HUD芯片車規晶振和陀螺儀的<b class='flag-5'>汽車</b><b class='flag-5'>抬頭</b><b class='flag-5'>顯示</b>系統<b class='flag-5'>方案</b>](https://file1.elecfans.com/web2/M00/C4/A0/wKgaomXudZiAOpQMAADFK50Kb7o985.png)
評論