【文章內(nèi)容簡介】
配置寄存器 2 ( C O N F I G 2) ,啟用 M S C A N 08 。該位在復(fù)位后只能寫1 次。 第二步: 將模式控制寄存器 0 的 S F T R E S 位置 1 ,進(jìn)入軟復(fù)位狀態(tài)。 第三步: 設(shè)置節(jié)點標(biāo)識符。 第四步: 設(shè)置總線通信位速率 。 第五步: 定義報文驗收模式和驗收屏蔽位。 第六步: 定義中斷方式。 第七步: 進(jìn)入正常工作方式。 MSCAN08/MSCAN12 25 MSCAN08通信實現(xiàn) ? 發(fā)送和接收函數(shù) // 函數(shù)聲明 // // 發(fā)送 1 幀遠(yuǎn)程幀 unsigned char CANsnd1RF rm(unsign ed int rid )。 //CAN 發(fā)送 1 幀數(shù)據(jù)幀 ( 數(shù)據(jù)長度 =8) unsigned char CANsnd1DF rm(unsign ed int rid , unsigned char * da tabuf,uns igned char len)。 // 查找空閑發(fā)送緩沖區(qū) unsigned char GetSndBuf (void)。 // 接收 1 幀 u n s i g n e d c h ar C A N r c v 1F r m ( u n s i g n e d c h ar * c an r c vb u f ) 。 MSCAN08/MSCAN12 26 MSCAN08自環(huán)通信測試實例 (1). 回環(huán)工作方式測試工程文件列表 表 17 8 回環(huán)工作方式測試工程文件列表 工程文件名 C A N S e l f T e s t . p r j 所在路徑 M C 08E x 2022 \ G P 32 \ G P 32C \ C 16 _C A N \ 01 _S e l f T e s t 文件類型 文件名 功能簡述 講解章節(jié) G Z 60C . h 芯片頭文件 參見工程實例 I n c l u d e s . h 總頭文件 [ 08C 工程文件組織 ] 5 . 3 T y p e . h 數(shù)據(jù)類型頭文件 [ 08C 工程文件組織 ] 5. 3 C A N I n i t . h 聲明 CAN 初始化函數(shù) 本章 CAN .h CAN 收發(fā)子函數(shù)頭文件 本章 頭文件 C o m m s u b s . h 串行通信等通用子函數(shù)頭文件 參見工程實例 v e c t o r s . c 中斷向量表 參見工程實例 M C U I n i t . c 芯片系統(tǒng)初始化函數(shù)定義 參見工程實例 CAN I n i t . c M S C A N 08 初始化函數(shù)定義 [ 本章 ] C 語言 子函數(shù)文件 CAN . c CAN 收發(fā)子函數(shù)定義 [ 本章 ] C 語言主函數(shù) M ai n . c 主函數(shù) [ 本章 ] MSCAN08/MSCAN12 27 MSCAN08自環(huán)通信測試實例 (2). 回環(huán)工作方式 C語言主程序 // 工 程 名 :CA NSe l fTe st. prj * // 硬件連接 :MCU 的串行口與 P C 機的串行口相連 * // 程序描述 : 將 MSC AN0 8 設(shè)置在回環(huán)自測方式下 , 每隔 1 秒左右 * // MSCAN0 8 自發(fā)自收字符串 He llo !!! , 并將之通過 * // 串口送出。 * // 說 明 : 因 MSC AN0 8 工作在回環(huán)方式下 , 故不用將 CA N * // 接口與 CAN 總線相連 * // 目 的 : 掌握 MSCAN08 模塊基本收發(fā)子程序編程 * // * MSCAN08/MSCAN12 28 MSCAN08正常通信測試實例 (1). 查詢方式服務(wù)器節(jié)點 C語言主程序 // * // 工 程 名 :CA NSe r ver .pr j * // 硬件連接 :MCU 的串行口與 PC 機的串行口相連