CAPL学习之路-关键字
在capl中,關(guān)鍵字具有特殊的含義和用途,因此,不得將關(guān)鍵字用作變量或函數(shù)的名稱(chēng)
聲明數(shù)據(jù)類(lèi)型的關(guān)鍵字
可以用不同的關(guān)鍵字,聲明或引用不同類(lèi)型的數(shù)據(jù)
byte
聲明一個(gè)字節(jié)的變量
word
聲明兩個(gè)字節(jié)的變量
dword
聲明四個(gè)字節(jié)的變量
int
聲明兩個(gè)字節(jié)的整數(shù)
long
聲明四個(gè)字節(jié)的變量
qword
聲明八個(gè)字節(jié)的變量
char
聲明一個(gè)字符串
float
聲明一個(gè)浮點(diǎn)數(shù),8個(gè)字節(jié)
double
聲明一個(gè)浮點(diǎn)數(shù),8個(gè)字節(jié)
定義一個(gè)結(jié)構(gòu)體或枚舉類(lèi)型
struct
struct Data { int type; long l; char name[50]; };enum
enum State { State_Off = -1, State_On = 1 };聲明消息/信號(hào)
message
capl程序要在總線上傳輸?shù)腃AN報(bào)文是用關(guān)鍵字message聲明的
兩種聲明方式:
linFrame
capl程序要在lin線上傳輸?shù)膌in幀是用關(guān)鍵字linFrame聲明的
dbMsg *
聲明一個(gè)dbc類(lèi)型的消息
這里有三種使用方式:
還有dbNode等關(guān)鍵字,用來(lái)聲明dbc里的其他參數(shù)
signal *
聲明一個(gè)dbc類(lèi)型的信號(hào)
這里也提供了一個(gè)lookupSignal的方法
signal * dbcsignal; dbcsignal = lookupSignal("EngineSignal");serviceSignal *
用來(lái)聲明數(shù)據(jù)庫(kù)里SOME/IP服務(wù)信號(hào),也有一個(gè)lookup的方法
類(lèi)似的還有很多,比如:serviceSignalData */serviceSignalNumber * /serviceSignalString *
聲明診斷服務(wù)
diagRequest
聲明診斷請(qǐng)求,具體用法見(jiàn)公眾號(hào)其他文章
用cdd里的診斷請(qǐng)求聲明
diagRequest Door.defaultSessionStart req;diagResponse
聲明診斷響應(yīng),具體用法見(jiàn)公眾號(hào)其他文章
很好玩的是,請(qǐng)求的響應(yīng)也是用cdd里的診斷請(qǐng)求來(lái)聲明
diagResponse Door.defaultSessionStart resp;聲明系統(tǒng)變量或計(jì)時(shí)器
sysvar *
聲明系統(tǒng)變量
類(lèi)似的還有:sysvarInt */sysvarFloat */sysvarString *等
timer
聲明一個(gè)定時(shí)器,時(shí)間單位為秒
timer t_sendmsg;類(lèi)似的還有:msTimer,聲明毫秒級(jí)定時(shí)器
定義一個(gè)test case/test function
testcase
定義一個(gè)test case
testcase mytestcase() { }testfunction
定義一個(gè)test function,它能被用在test case或test sequence中
其他
this
在接收CAN對(duì)象或系統(tǒng)變量或環(huán)境變量的回調(diào)事件中,可以用this來(lái)指定這個(gè)接收的對(duì)象
on message 100 { byte byte_0; byte_0 = this.byte(0); }$
如果想直接給信號(hào)賦值,必須要在信號(hào)的前面加一個(gè)$符號(hào)
$EngineSpeed = 500.0;.raw
讀取信號(hào)的原始值
EngineMsg.EngineSpeed.raw類(lèi)似的還有.phys,讀取信號(hào)的物理值
if, else, switch, case, default, for, while, continue, break, return都是關(guān)鍵字
以上,就是capl中關(guān)鍵字的內(nèi)容,請(qǐng)幫忙點(diǎn)贊或轉(zhuǎn)發(fā)哦
總結(jié)
以上是生活随笔為你收集整理的CAPL学习之路-关键字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 三级联动下拉列表的开发过程与范例
- 下一篇: 被广告拦截插件坑了