新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的87C196CA在單片機串行通訊的應用

        基于CAN總線的87C196CA在單片機串行通訊的應用

        作者: 時間:2012-05-22 來源:網絡 收藏

        3 通訊軟件

          對于通過CAN 總線連接的單片機之間的通訊軟件編程需要定義一系列的控制字,并在兩個單片機上進行配置。即首先進行上電初始化,定義CAN控制寄存器,定義位定時寄存器選擇CAN 的通訊速率,定義信息體屏蔽寄存器選擇接收對象。其次對信息體進行初始化,分別定義兩個信息體工作模式、發送字節數、選擇CAN2.0A 或CAN2.0B 方式。其程序代碼:

          / *CAN 控制器初始化*/

          can_con = 0x41 ; / *CAN 控制器CCE 位置1 ,

          則可以定義CAN 定器* /

          can_ btime0 = 0x41 ; /* 定義CAN 定時器為

          250 Kb/ s * /

          can_btime1 = 0x67 ;

          can_con = 01 ; / *允許對CAN 控制器進行軟

          件初始化* /

          can_sgmsk = 0x0 ; / * 定義標準CAN 通訊格

          式的屏蔽控制字,所有位都不濾紙*/

          can_msg1con0 = 0x55 ; / * 信息體1 控制器0

          初始化* /

          can_msg1con1 = 0x55 ; / * 信息體1 控制器1

          初始化* /

          can_msg1cfg = 0x88 ; / *定義信息體1 為發

          送,發送8 字節,標準CAN 格式* /

          can_msg1id = 0xc8c8c8c8 ; / * 信息體1 標識

          寄存器初始化標識符為c8c8c8c8 ;

          can_ msg1con0 = ox95 ; / * 信息體1 控制器

          0MSGVAL 位置1 ,標明信息體1 有效* /

          can_msg2con0 = 0x55 ; / * 信息體2 控制器0

          初始化* /

          can_msg2con1 = 0x55 ; / *信息體2 控制器1

          初始化* /

          can_msg2cfg = 0x80 ; / *定義信息體2 為接

          收,接收8 字節,標準CAN 格式* /

          can_msg2id = 0xc8c8c8c8 ; / *信息體2 標識

          寄存器初始化標識符為c8c8c8c8 */

          can_ msg2con0 = ox95 ; / * 信息體2 控制器

          0MSGVAL 位置1 ,標明信息體2 有效 */

          can_con = 0x02 ; / * CAN 控制器軟件初始化

          完成*/

          / *發送8 字節數據: * /

          can_msg1con1 = 0x5a ; / * CPUUPD 置1 ,使

          軟件刷新數據,NEWDA T 置1 使信息置1 使信息

          體有效* /



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴山县| 延津县| 屯门区| 阿拉善盟| 陇川县| 大庆市| 镇安县| 冕宁县| 汉川市| 灌云县| 盐山县| 乃东县| 鲜城| 罗平县| 重庆市| 建湖县| 巴彦淖尔市| 桐庐县| 朝阳区| 内乡县| 乌兰浩特市| 常宁市| 临湘市| 北宁市| 讷河市| 延安市| 枣庄市| 井研县| 平和县| 景宁| 松阳县| 远安县| 察雅县| 麦盖提县| 凤阳县| 乌兰浩特市| 洛川县| 青神县| 宜阳县| 双牌县| 淮安市|