77范文网 - 专业文章范例文档资料分享平台

DZ60的CAN程序(2)

来源:网络收集 时间:2019-02-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

{

*((&CANTDSR0)+i) = temp_data[i]; }

CANTDLR = dataLen; // 写入数据长度 }

////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////远程帧格式//////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// else {

CANTDLR = 0; // 远程帧

CANTIDR0 = temp_id[0]; CANTIDR1 = temp_id[1]; CANTIDR2 = temp_id[2]; CANTIDR3 = temp_id[3];

CANTIDR3_RTR = RTR;

CANTIDR1_SRR = 1; // 扩展格式时RTR置位 CANTIDR1_IDE = 1; // 扩展帧 }

CANTTBPR = priority; // 写入优先级

// 清TXx标志,缓冲器准备发送 CANTFLG = txEmptyBuf; // 相关位写1清零 return 1; }

//---------------------------------------------------------------------*

//函数名:VCAN_RX() * //功 能:中断程序处理 * //参 数: 无 * //返 回: 无 * //说 明: *

// (1)CAN时钟源使用芯片总线时钟,设置CAN通信频率为250KHz * // (2)关闭滤波器,接收CAN总线上所有的报文 * //---------------------------------------------------------------------*

#pragma CODE_SEG NON_BANKED interrupt 28 VCAN_RX (void) {

uint8 i;

CANRIER_RXFIE = 0; // 禁止接收中断

CANCTL0_RXFRM = 1;

////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////标准ID格式//////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////

if(0 == (CANRIDR1&0x08)) // 检测 CAN协议报文模式 (一般/扩展)识符 {

recID[0] = CANRIDR0; // 收到标准ID格式 recID[1] = CANRIDR1; // 收到标准ID格式

RTR = CANRIDR1_SRR; IDE = 0; }

//////////////////////////////////////////////////////////////////////////////////////////

标识符 读出标

////////////////////////////////////扩展ID格式//////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// else // 收到扩展格式ID {

recID[0] = CANRIDR0; // 收到扩展ID格式 recID[1] = CANRIDR1; // 收到扩展ID格式 recID[2] = CANRIDR2; // 收到扩展ID格式 recID[3] = CANRIDR3; // 收到扩展ID格式

RTR = CANRIDR3_RTR; IDE = 1; }

////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////数据帧格式//////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////

if(0 == RTR) // 判断是否为数据帧 {

dataLen = CANRDLR_DLC; // 读取数据帧长度

for(i = 0; i < dataLen &&i<8; i++) {

Rxdata[i] = *((&CANRDSR0)+i); // 读取数据 } }

////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////远程帧格式//////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////

else // 远程帧 {

dataLen = CANRDLR_DLC;

sendID[0] = CANRIDR0; sendID[1] = CANRIDR1; sendID[2] = CANRIDR2; sendID[3] = CANRIDR3;

CANRIDR3_RTR = RTR;

CANTIDR1_SRR = RTR; CANTIDR1_IDE = 1; }

CANRFLG = 1;

CANRIER_RXFIE = 1; }

// 扩展格式时RTR置位 // 扩展帧 // 接收缓冲器已满 报文成功接收

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库DZ60的CAN程序(2)在线全文阅读。

DZ60的CAN程序(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/476981.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: