零基础学习CANoe Panel(14)——二极管( LED Control )和液晶屏(LCD Control)
Posted 蚂蚁小兵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学习CANoe Panel(14)——二极管( LED Control )和液晶屏(LCD Control)相关的知识,希望对你有一定的参考价值。
- 🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用
- 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】
- 🍅 零基础学习CANoe Panel设计目录汇总,点击跳转👉
📘前言
-
🍅 本节通过一个简易版的电源操作面板,来一起演示下液晶屏(LCD Control)控件和二极管( LED Control )控件
-
🍅 演示软硬件环境
Windows11 x64
;CANoe 11 SP2 x64
目录
📙 液晶屏(LCD Control)
- 放置两个LCD Control取来实时显示电源电压电流
- 放置一个 LED Control 用来显示电源连接状态
- 放置两个Input/Out 控件,串口连接的配置
🍅 设置数码管数量
- 一个数字就是一个数码管,以小数位为界,可以设置整数位和小数位的显示位数
Decimal Places
:整数位设置为2个Number Of Digits
:小数位设置2个
🍅 数码管配色设置
- 默认配置就是点亮段时红色,背景色和没有被点亮的段时黑色
- 下面我们简单设置下数码管的颜色
🍅 电源连接和电压读取模板代码
- 下面代码,可以作为一个标准电源连接和电压读取的模板把,实际使用时,再根据具体情况加工下
/*@!Encoding:936*/
variables
msTimer timer_V;
msTimer timer_C;
char tempText[0x500];
int Port;
int BaudRate;
int res;
byte GetCurrentCommand [6] = 'I','O','U','T',13,10;//13 CR ; 10 LF
byte GetVoltageCommand [6] = 'I','O','U','T',13,10;//13 CR ; 10 LF
on timer timer_V
//RS232Send(Port, GetCurrentCommand, elCount(GetCurrentCommand));
//模拟随机值,真实硬件情况下,把RS232Send打开,然后在RS232OnReceive解析返回值
sysSetVariableFloat(sysvar::Panel::LCD_Voltage,random(5)/10.0+random(10));
setTimer(timer_V,1000);
on timer timer_C
//RS232Send(Port, GetCurrentCommand, elCount(GetCurrentCommand));
//模拟随机值,真实硬件情况下,把RS232Send打开,然后在RS232OnReceive解析返回值
sysSetVariableFloat(sysvar::Panel::LCD_Current,random(5)/10.0);
setTimer(timer_C,600);
on sysvar Panel::Port
InitPower();
on sysvar Panel::BaudRate
InitPower();
RS232OnReceive(dword port, byte buffer[], dword number)
if(buffer[0] =='V')
sysSetVariableFloat(sysvar::Panel::LCD_Voltage,random(5)/10+random(10)); //模拟随机值
else if(buffer[0] =='C')
sysSetVariableFloat(sysvar::Panel::LCD_Current,random(5)/10);//模拟随机值
int InitPower()
Port = sysGetVariableInt(sysvar::Panel::Port);
BaudRate = sysGetVariableInt(sysvar::Panel::BaudRate);
write("Port:%d ;BaudRate:%d ",Port,BaudRate);
res = RS232Open(Port);
if(res!=1)
write("Open COM %d Failed!",Port);
return 0;
res = RS232Configure(Port,BaudRate,8,1,0);
if(res!=1)
write("Configure COM %d Failed! :%d",Port,res);
return 0;
res = RS232SetHandshake(Port,0,0,0,0,0);
if(res!=1)
write(" Configure handshaking COM %d Failed!",Port);
return 0;
//配置成功
setTimer(timer_V,500);
setTimer(timer_C,600);
sysSetVariableInt(sysvar::Panel::LED_1,1);
write("Configure COM %d Ok!",Port);
return 1;
on stopMeasurement
rs232Close(Port);
🍅 实际测试结果
📙 液晶屏(LED Control)
- LED Control 作为一个状态显示控件,比较简单
🍅 On Off 值和颜色属性设置
- LED Control 只有On和Off两种状态,默认 On 是1 ,OFF是0,颜色也可选
🍅 形状属性设置
- panel提供了6种可选形状
🌎总结
- 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
以上是关于零基础学习CANoe Panel(14)——二极管( LED Control )和液晶屏(LCD Control)的主要内容,如果未能解决你的问题,请参考以下文章
零基础学习CANoe Panel(17)—— Panel CAPL Function
零基础学习CANoe Panel(13)—— 滑条(TrackBar )
零基础学习CANoe Panel(10)—— 组合框(ComboBox)