CAN通讯程序C语言,基于单片机的CANBUS程序(C语言)
CAN-bus(Controller Area Network)即控制器局域网,是国际上应用最广泛的现场总线之一。起先,CAN-bus被设计作为汽车环境中的微控制器之间通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。它是一种多主方式的串行通讯总线,基本设计规范要求有较高的位速率,高抗干扰性,而且能够检测出产生的任何错误。信号传输距离达到10Km时,仍然可提供高达5Kbps的数据传输速率。由于CAN串行通讯总线具有这些特性,它很自然的在汽车、制造业以及航空工业中受到广泛应用。以上是我在单片机上调试好的can总线程序
#include //SJA存储器定义头文件
#include //SJA子程序文件
调试好的can总线程序
//
void Init_Cpu(void); //初始化单片机
void Sja_1000_Init(void); //初始化SIA
//
void main(void)
{
s=0; //配置sja1000出现错误时,重新初始化
do{
Sja_1000_Init();
}while(s!=0);
Init_Cpu(); //initialize mcu
flag_init=0x00; //保存中断寄存器值清零
while(1)
{
if(rcv_flag) //if there is receive interrupt
{
rcv_flag=0; //接收标志位清零
BCAN_DATA_RECEIVE(rcv_data); //接收数据
BCAN_CMD_PRG(RRB_CMD); //释放接收缓冲区
flag_send=1; //发送命令置位
}
if(flag_send)
{
flag_send=0; //发送位清零
send_data[0]=rcv_data[2]; //接收到的"发送方ID10~ID3"
send_data[1]=rcv_data[3]; //接收到的"发送方ID2~ID0"和要求的数据长度
send_data[2]=0x88;
send_data[3]=0x89;
BCAN_DATA_WRITE(send_data); //发送数据
BCAN_CMD_PRG(TR_CMD); //置位发送请求位
for(count_k=0;count_k<200;count_k++)
display(a); //延时显示"5"
}
if (err_flag) //错误中断
{
for(count_k=0;count_k<280;count_k++)
display(c); //错误显示"1"
err_flag=0; //错误标志位清零
Sja_1000_Init(); //初始化SJA
}
display(b); //显示"p"
}
}
void ex0_int(void) interrupt 0 using 1 //外部中断0
{
SJA_BCANAdr=REG_INTERRUPT; //指针指向中断寄存器
flag_init=*SJA_BCANAdr; //保持中断寄存器值
}
void ex0_int(void) interrupt 0 using 1 //外部中断0
{
SJA_BCANAdr=REG_INTERRUPT; //指针指向中断寄存器
flag_init=*SJA_BCANAdr; //保持中断寄存器值
}
void Init_Cpu(void) //单片机初始化,开放外部中断0
{
PX0=1;
EX0=1;
EA=1;
}
void Sja_1000_Init(void)
{
s=BCAN_CREATE_COMMUNATION(); //SJA自测
s=BCAN_ENTER_RETMODEL(); //进入复位
s=BCAN_SET_BANDRATE(0x04); //设置波特率100K/S
s=BCAN_SET_OBJECT(0xaa,0x00); //设置地址ID:550
s=BCAN_SET_OUTCLK(0xaa,0x48); //设置输出方式,禁止COLOCKOUT输出
s=BCAN_QUIT_RETMODEL(); //退出复位模式
SJA_BCANAdr=REG_CONTROL; //地址指针指向控制寄存器
*SJA_BCANAdr|=0x1e; //开放错误接收发送中断
}
CAN通讯程序C语言,基于单片机的CANBUS程序(C语言)相关推荐
- 单片机c语言出租车计时程序,基于单片机的出租车计费(c语言).doc
基于单片机的出租车计费(c语言) 基于单片机的出租车计费(c语言) 基于proteus仿真 一.设计要求: 1.用实现出租车计费器的设计. 出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统 ...
- 单片机c语言时钟设计,基于单片机的数字时钟C语言设计.pdf
第 2O卷第 6期 北华航天工业学 院学报 Vo1.2O No.6 2010年 l2月 JournalofNorthChinaInstituteofAerospaceEngineering Dec.2 ...
- 出租车收费题目及答案c语言,《基于单片机的出租车计费(c语言)》.doc
基于单片机的出租车计费(c语言)基于proteus仿真 一.设计要求: 1.用实现出租车计费器的设计. 出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统首先显示起步价(如.0),车行驶2k ...
- 智能循迹避障小车C语言程序编写思路,基于单片机的智能小车红外避障循迹系统设计与制作...
余秀玲 余秀娟 摘 要:随着科技的高速发展,人们对生活质量的要求越来越高,无人驾驶汽车已经被广为研发和试用,由此智能小车的快速发展也是在情理之中.通过对基于单片机的智能小车的硬件及软件设计分析,实现红 ...
- 51单片机温度控制C语言程序详解,基于单片机的温度控制系统设计(附程序清单及原理图).doc...
您所在位置:网站首页 > 海量文档  > 电子工程/通信技术 > 电子设计 基于单片机的温度控制系统设计(附程序清单及 ...
- 热电偶单片机代码c语言,基于单片机的热电偶发生器设计(含电路原理图,程序)...
基于单片机的热电偶发生器设计(含电路原理图,程序)(课题申报表,任务书,开题报告,中期检查表,外文翻译,论文15000字,程序,答辩PPT) 摘 要 热电偶标准信号发生器为袖珍式键控现场检测仪表.其由 ...
- 声控灯程序C语言,基于单片机的声控灯控制系统设计.doc
摘要:随着计算机技术的高速发展,单片机以其自身特有价格低廉.性能优良的特点,已经广泛应用与各种智能仪器.家庭电器.电子玩具等领域.基于单片机开发出稳定可靠.成本低廉的声控灯具有很强的实用性和经济性,可 ...
- 智能空调检测程序c语言,基于单片机的智能空调节电控制器毕业设计论文C语言编程.doc...
基于单片机的智能空调节电控制器毕业设计论文C语言编程 目录 TOC \o "1-3" \u 第1章引言 PAGEREF _Toc231960072 \h 1 1.1传感器的概述和应 ...
- 煤气检测与报警程序C语言,基于单片机的煤气检测报警系统毕业设计.doc
基于单片机的煤气检测报警系统毕业设计 届 别 学 号 毕业设计 基于单片机的煤气检测报警系统 姓 名 系 别. 专 业 导 师 姓 名.职 称 完 成 时 间 目录 摘要3 Abstract3 1 绪 ...
- 单片机4人抢答器程序C语言,基于单片机的4人抢答器.pdf
基于单片机的4人抢答器 本文由wosulewen贡献 doc文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机 查看. 福建工程学院国脉信息学院 目录 摘要----------- ...
最新文章
- Fast RCNN 训练自己数据集 (2修改数据读取接口)
- Lucene查询索引(分页)
- centos 6 KVM 网卡桥接配置
- 20145227《信息安全系统设计基础》第一周学习总结
- php for循环 循环奇数,php – Foreach,每个n项的特殊处理(奇数,甚至例如)
- jee neow_JEE7:展望新时代
- [Silverlight]奇技银巧系列-2
- ibatis oracle function,IBATIS调用oracle function(函数)的步骤实例
- 关于Mybatis的几个问题
- 在Qt界面中显示OpenCV图像
- SVN使用教程总结[转]
- JavaScript 是一种什么样的语言
- 新手C#面向对象的学习2018.08.06
- 谈谈架构师是何种生物
- 昨晚,谷歌发布了一个可怕的人工智能!
- CAD初学者该掌握的用cad画图的基本…
- MySQL如何同时删除主外键关联的两张表中的数据
- 在linux系统上安装飞秋,linux [Fedora] 下的 飞秋/飞鸽传书
- 一步一步入门机器学习之一:Python(x,y)下载,安装,使用入门
- 互联网中所说的“旁注”是什么?
热门文章
- 积累资源,胜于一切项目
- 傻瓜进销存怎么样?收费吗?
- springboot简单集成quartz定时任务框架,实现用户封号定时解封问题
- 堆栈平衡:估计这是最详细的讲解堆栈平衡的了
- Galaxy S III 新广告大片:All Share功能 完败iPhone!
- 【20保研】四川大学计算机学院(软件学院)2019年全国优秀大学生暑期夏令营招生简章...
- msg邮件转eml邮件
- 信创操作系统--统信UOS桌面版(软件管理:应用商店、包管理器)
- php curl https_「PHP源码」文章原创度检测源码
- python谐音梗_谐音梗生成器