㈠ 求:can总线通信如何实现两个节点互相收发,希望是keil.c程序
一般不管在哪里,都别直接要程序,即使要了,也不会有人给。
你应该自己学着写,碰到问题了再问,这样就具体的某个细节问题,大家才好回答你。
这个要求包含如下几个方面:
1)单片机通过RS232与电脑之间发送、接收数据;
2)51单片机对SJA1000的配置、控制、读写;
3)CAN的节点通讯(协议);
4)51单片机对DS18B20的温度采集。
这些,你会哪些,不会哪些,至少自己一点一点的去啃一下,才有意义
㈡ CAN通信,C语言
使用一个flag
开始为0,当计数一次后变为一。
在计数时先判断flag是否为0,若是则计数,若否则跳过
㈢ 哭求~~can总线的C语言程序例子
1 去买本北京航空航天大学出的书,好好看看。
2 或者自己用网络搜索。
这个问题估计没人给你答案。要有也是网上搜的,还不如自己去搜。
网络输入:can总线程序
会有很多结果,大把大把。
比如:
http://hi..com/wogoyixikexie/blog/item/4befa4166b94134f20a4e9b5.html
http://blog.21ic.com/user1/4416/archives/2007/41628.html
都是用c51写的,也不难,小可也会。
做了一回党
㈣ 什么是CAN通信
1can是两根线,
2can线上有两个状态,
a隐性状态,两线电压2.5V,表示位为1。
b显性状态,两线电压:低1.5V,高3.5V,压差2V;表示位为0;
3以上2里的电压叫差分线路,为的是增加抗干扰性能,同时在高与低两根线上并入120欧姆电阻,防止信号震荡。
4以上只是电路的硬件解释,下面以长城上的烽火台举个例子。
5第一个台子,冒烟了,在131个时间单位里(一个报文131个位,也就是一个数据帧131个位),其他的台子,就会记录44个时间单位里,有没有冒烟结果是131个0与1组成的数字:100110010101100101100101(这里一共是131个哈,我没具体计数)。
6如果有两个台子在冒烟,先冒烟a的不要停,接着冒烟。后冒烟的b停下来,接收a发出的信号。
7两个台子同时冒烟,在前11个冒烟记数里,谁不冒烟(状态为0,显性电平,压差2V)发送的多,谁的优先级就高,就不会停,而其它的1-N个就会停下来 改为接收。
8在一个131时间里,一个发出,其它的所有台子都会收到并记录这一串数字,然后根据领导的指示(或是军部的密码本)进行信息处理,如果能找到匹配密码的信息就把8个字节(一个131的帧有8*8位的数据内容,其它的131-64=67个位不是数据的)存下来,装进箱子里,A级文件装进第一个密码箱,B级文件装在第二个密码箱,每个箱子有三个格子,只能收三个文件。
9在131个时间里收到的数据串,前11个是ID,就是编号。12位是扩展位,可以在扩展28个位。
10一个131(叫报文,叫帧),有这样几个段,仲裁段(就是ID段,前面5678里提到的密码本就是在这一段做比对),数据段(8字节*8位),应答段,结束段。
11仲裁里数据叫标识符,用来匹配密码本(叫筛选器,叫识别器,叫过滤器)。
12每个can硬件有多个识别器,每个烽火台有多个密码本。两本是一个组。
13每组密码本的方式,
a一本指定检测位的,一本指定位的状态。比如第一本指定只看第3与5位,第二本指定3位与5位为0。那么只有这一种信息才能存后面的8个字(64位)
b一本指定密码A,一本指定密码B。
c与d记不清了。
14密码本有11位,使用的时候用不了那么多个(11位为0-7ff,0-2046)所以可以前三个位是烽火台的编号,最后两位是功能码(比如信息紧急程度,或数据类型:int char bit),也就是说,仲裁段可以对密码,与可以当数据段来使用。
15应答段只有两位,具体的忘了。
16结束段有7位隐性电平,好像是这样的。
㈤ C语言实现CAN总线报文传送与接收
这里应该有你想要的。
http://group.ednchina.com/684/Group.aspx?page=10
㈥ CAN总线通讯应用编程实践
1、先看51单片机的书(包括了51结构,编程,画板等内容)
——51的书是比较多的,教材都可以
2、了解CAN的协议(CAN的协议,CAN节点的构成,CAN应用层协议的建立)
——CAN的书不多,网上资料有的
3、最重要的是有块51的CAN开发板,对你来说是最直接的帮助,能弄懂并COPY一个的话你的毕设应该可以交差了。
㈦ 请问canopen通讯和CAN通讯有什么不同吗
感谢题主的邀请,我来说下我的看法:
当然是不同的,CAN总线通讯只是最基础的数据通讯,就如同一条没有任何交通规则的马路一样,无论是行人,自行车还是机动车,都可以随意的行走,没有章法。而CANopen是CAN总线的高层协议,它对CAN总线的运行作出了具体的规范,相当于上面我们举的那个马路例子里的交通规则。有了交通规则以后,机动车怎么走,行人怎么走,自行车怎么走就都有章可循了,效率更高。如果你需要相关的CANopen通讯的设备的话,可以前往我们的网站进行咨询,欢迎来访。
㈧ 请问该如何实现canopen和can通讯呢
感谢题主的邀请,我来说下我的看法:
CANopen总线其实也是CAN总线,不过它被赋予了CANopen高层协议,这让每一条CAN总线数据都有了具体的含义,更加具备实用性。一个是具有高层协议的CAN数据,另一个是不具备的,那它们之间肯定是不能直接进行通讯的,需要专门的CANopen转CAN协议转换器。不过,这类设备很少有现成的,需要专门去研发定制。但现在,如果你拥有PLC程序编辑能力,你可以使用可编程协议转换器进行CANopen转CAN转换器的开发,你清楚了吗?如果您需要相关的CANopen转CAN转换器的话,可以前往我们的网站进行具体的咨询,欢迎来访。
㈨ can总线编程需要注意些什么
1.正确的初始化,比如时间特性,波特率,工作模式等。
2.过滤器设置,高小器的编号,过滤器宽度以及过滤器的过滤模式还有过滤器标准值设置等。
3.发送/接收数据的方式有查询方式和中断方式,个人建议发送使用查询方式,接收使用中断方式。
㈩ 请问一下带CAN总线的单片机(用C语言编程)有哪些
不需要 特地集成CAN收发器的芯片啊 用独立CAN收发器 SJA1000 单片机就你自己看着办了 3个CAN里有2个是用SJA1000的