《一》canfestival系列教程(有配套視頻和代碼)
canfestival最主要的思想有兩個.
一個是字典思想,
所有的參數(shù)和配置都是存在字典里面的.在主函數(shù)中實際上就是切換運(yùn)行狀態(tài).程序就會按照字典的配置進(jìn)行接收數(shù)據(jù),并把數(shù)據(jù)存入相應(yīng)的字典索引.
例如:
如果用canfestival編寫一個驅(qū)動器程序.
驅(qū)動器作為從機(jī),會接收數(shù)據(jù),
接收到速度指令,位置指令等.
這些指令中的數(shù)據(jù)是什么格式,都在字典中有定義,最終從指令中解析出來的速度或位置數(shù)據(jù).都會存入道驅(qū)動器的字典中.
如果想要從驅(qū)動器中讀取當(dāng)前的電流,速度,加速度等信息.
驅(qū)動器會根據(jù)索引,讀取自身字典中的數(shù)據(jù),并通過實現(xiàn)配置好的pdo通道傳輸出去.
另一個是軟件定時器思想,
canfestival中所有的事件都是基于軟件定時器的.
發(fā)送pdo,發(fā)送sdo,發(fā)送同步幀都是需要創(chuàng)建一個軟件定時器.
然后,軟件定時器溢出之后,進(jìn)入回調(diào)函數(shù).
在回調(diào)函數(shù)中進(jìn)行發(fā)送pdo,sdo或同步幀.
如果要循環(huán)發(fā)送,就會創(chuàng)建一個循環(huán)的軟件定時器.
如果要發(fā)送一次,就創(chuàng)建一個觸發(fā)一次的定時器.

標(biāo)簽: