打印

tyw叔求书 项目驱动--CAN-bus现场总线基础教程

[复制链接]
10883|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lightour|  楼主 | 2013-7-23 11:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
tyw| | 2013-7-23 12:47 | 只看该作者
本帖最后由 tyw 于 2018-11-19 10:59 编辑

人家周立功正在热卖中,等他赚够了再D吧,哈哈,看下面的吧,,少累哈
CAN总线相关专辑 11册 122M ◆〓 有增补! 2013.09.06


CAN总线轻松入门与实践 李真花 崔健.pdf (22.96 MB, 下载次数: 4467)    new !

CAN BUS规范v2.0 36页 4.1M.pdf (4 MB, 下载次数: 4957)
CAN-bus 规范 V2.0 36页 0.8M.pdf (844.91 KB, 下载次数: 899)
CAN-bus标准电路 8页 0.5M.pdf (512.29 KB, 下载次数: 1009)
CAN入门 49页 1.9M.pdf (1.87 MB, 下载次数: 1818)
CAN硬件方案 23页 0.8M.pdf (814.27 KB, 下载次数: 1023)
CAN总线技术基础 45页 1.4M.pdf (1.37 MB, 下载次数: 1546)
CAN总线接口电路 25页 0.4M.pdf (496.48 KB, 下载次数: 1171)
CAN总线入门 49页 1.8M.pdf (1.8 MB, 下载次数: 1773)
CAN总线原理和应用系统设计 294页 6.6M.pdf (6.51 MB, 下载次数: 4465)
PCA82C250 CAN总线控制器数据手册 10页 0.1M.pdf (213.28 KB, 下载次数: 648)
现场总线CAN原理与应用技术 第2版 453页 106.9M 高清书签版.part1.rar (19.53 MB, 下载次数: 6906)
现场总线CAN原理与应用技术 第2版 453页 106.9M 高清书签版.part2.rar (19.53 MB, 下载次数: 13520)
现场总线CAN原理与应用技术 第2版 453页 106.9M 高清书签版.part3.rar (19.53 MB, 下载次数: 11565)
现场总线CAN原理与应用技术 第2版 453页 106.9M 高清书签版.part4.rar (19.53 MB, 下载次数: 7317)
现场总线CAN原理与应用技术 第2版 453页 106.9M 高清书签版.part5.rar (19.53 MB, 下载次数: 12927)
现场总线CAN原理与应用技术 第2版 453页 106.9M 高清书签版.part6.rar (4.62 MB, 下载次数: 2215)

CAN_ISO11898与CAN2.0.rar (6.25 MB, 下载次数: 1866)


使用特权

评论回复
板凳
499734424| | 2013-7-23 13:07 | 只看该作者
霸气的T叔

使用特权

评论回复
地板
savagex| | 2015-6-6 22:21 | 只看该作者
好贴,要顶,谢谢分享

使用特权

评论回复
5
h1752482885| | 2015-9-10 21:36 | 只看该作者
这里的资源总令人惊讶。谢谢分享

使用特权

评论回复
6
jinniuxing| | 2015-11-5 09:05 | 只看该作者
感谢分享,正需要这方面的资料,谢谢!

使用特权

评论回复
7
wangkangming| | 2015-11-5 09:25 | 只看该作者
T叔的资料不能下载了。。。

使用特权

评论回复
8
tyw| | 2015-11-5 11:42 | 只看该作者
wangkangming 发表于 2015-11-5 09:25
T叔的资料不能下载了。。。

已修复,去下吧,少累.

小密诀:
去搜索栏键入"CAN"→点"高级"→作者栏填入"tyw"→搜索,可获得全部与"can"有关的本人上传的资料

使用特权

评论回复
9
wangkangming| | 2015-11-5 12:05 | 只看该作者
tyw 发表于 2015-11-5 11:42
已修复,去下吧,少累.

小密诀:

非常感谢T叔啊!大赞!:handshake

使用特权

评论回复
10
BIGTUS| | 2015-11-21 20:07 | 只看该作者
震惊,居然有如此之多神级资料,感谢

使用特权

评论回复
11
lizhengjie| | 2017-1-20 11:33 | 只看该作者
mark

使用特权

评论回复
12
yi大梨| | 2017-6-28 14:34 | 只看该作者
多谢分享!!!

使用特权

评论回复
13
yi大梨| | 2017-6-28 14:35 | 只看该作者
多谢分享!!!好人一生平安

使用特权

评论回复
14
515192147| | 2017-8-23 07:26 | 只看该作者
本帖最后由 515192147 于 2017-8-26 22:37 编辑

冗余双CAN现场总线STM32F105开发板KeilC++源程序  
冗余双CAN现场总线STM32F105开发板Keil C++源程序下载链接:
https://bbs.21ic.com/forum.php?mo ... 634&fromuid=2554432
(出处: 21ic电子技术论坛)



使用特权

评论回复
15
lucanliu| | 2017-8-24 20:29 | 只看该作者

使用特权

评论回复
16
the7spy| | 2018-9-21 11:08 | 只看该作者
感谢tyw叔,下载了两本自学

使用特权

评论回复
17
weili8601| | 2018-11-19 10:28 | 只看该作者
好资料,感谢tyw叔

使用特权

评论回复
18
jinniuxing| | 2020-8-20 08:54 | 只看该作者
正需要的资料,非常感谢分享!

使用特权

评论回复
19
liushiming82| | 2023-6-21 10:20 | 只看该作者
本帖最后由 tyw 于 2023-6-21 10:26 编辑

51内核的单片机能用于CAN通讯吗? 谢谢


51单片机的can总线通讯程序最新更新时间:2016-10-21来源: **关键字:51单片机  can  总线通讯 [url=] 手机看文章[/url]


分享到[url=]微博[/url][url=]QQ[/url][url=]微信[/url][url=]LinkedIn[/url]
#i nclude                               //单片机头文件
#i nclude                        //SJA存储器定义头文件
#i nclude                        //SJA子程序文件
/*************************函数声明*******************************************/
void Init_T0(void);                             //初始化单片机T0
void Sja_1000_Init(void);                       //初始化SJA
//*******************************************************************
bit flag_sec;                                   //发送命令标志
unsigned char data   send_data[10],rcv_data[10];//发送和接收数组
unsigned char        sec_data,second;            //定时器记数变量,发送数据变量
unsigned char data   Tmod_data;                  //定时器T0工作方式变量
unsigned char bdata flag_init;                  //中断寄存器数据保存变量
sbit rcv_flag=flag_init^0;                      //接收中断标志
sbit err_flag=flag_init^2;                      //错误中断标志
sbit P2_0=P2^0;
sbit P3_4=P3^4;
sbit LED=P3^5;                                  //指示灯
//***********************************************************
void ex0_int(void) interrupt 0 using 1          //外部中断0
{
        SJA_BCANAdr=REG_INTERRUPT;                  //指针指向中断寄存器
        flag_init=*SJA_BCANAdr;                     //保持中断寄存器值
}
//***********************************************************
void T0_int(void) interrupt 1 using 2           //定时器T0中断服务子程序
{
        TR0=0;                                      //关闭定时器T0
        sec_data--;                                 //秒计时变量减一
        if(sec_data==0)                             //2.25秒时间到了吗?
        {
               sec_data=0x50;                          //重新赋值
               TH0=0x80;
               TL0=0x60;
               flag_sec=1;                             //设置标志位
               second++;                               //发送的数据加一
        }
        TR0=1;                                      //启动定时器T0
}
//************************************************************
void Init_T0(void)                              //初始化定时器0
{
Tmod_data=TMOD;
Tmod_data&=0xf0;
Tmod_data|=0x01;
TMOD=Tmod_data;                                 //定时器T0工作方式设置
TH0=0x80;
TL0=0x60;                                       //定时器T0初值设置
TR0=1;                                          //开放定时器T0
sec_data=0x20;                                  //记数值设置
second=0x00;                                    //发送数据初始化清零
}
//***********************************************************
void Sja_1000_Init(void)
{
        BCAN_ENTER_RETMODEL();                      //进入复位
        BCAN_SET_BANDRATE(0x0b);                    //800K
        BCAN_SET_OBJECT(0xaa,0xff);                 //设置地址ID:557
        BCAN_SET_OUTCLK(0xaa,0x48);                 //设置输出方式,禁止COLOCKOUT输出
        BCAN_QUIT_RETMODEL();                       //退出复位模式
        SJA_BCANAdr=REG_CONTROL;                    //地址指针指向控制寄存器
        *SJA_BCANAdr|=0x1E;                         //开放错误\接收\发送中断
}
//*******************************************************************
void main(void)
{
     P2_0=0;                                     //SJA1000退出硬件复位模式
        Sja_1000_Init();                                            //initialize Sja100
        Init_T0();                                                            //initialize T0
        PX0=1;                                      //外部中断0高优先级
        IT0=1;                                      //开放T0中断
        EX0=1;                                      //外部中断0开放
        ET0=1;                                      //开放外部中断0
        EA=1;                                       //开放全局中断
     P3_4=0;                                     //点亮指示灯
        flag_init=0x00;                             //变量清零
        while(1)
        {
               if(rcv_flag)                           //if there is receive interrupt                                                     
                {     rcv_flag=0;                        //接收标志位清零
                      BCAN_DATA_RECEIVE(rcv_data);       //接收数据
                      BCAN_CMD_PRG(0x04);                //释放接收缓冲区
                }
               if(flag_sec)                                               
                {     flag_sec=0;                            //发送位清零                                               
                      send_data[0]=0xAA;                              //发送数据到ID为550的节点           
                      send_data[1]=0x08;                 //发送数据帧,8个字节长度
                      send_data[2]=0x05;                 //第一个字节内容为数据05H
                      send_data[3]=second;               //第二个字节内容为变量值
                      BCAN_DATA_WRITE(send_data);        //发送数据
                      BCAN_CMD_PRG(0x01);                //置位发送请求位
                   LED=~LED;
                }
               if(err_flag)                           //错误中断
                {    err_flag=0;                        //错误标志位清零
                      Sja_1000_Init();                   //初始化SJA
                }
        }
}




51单片机的can总线通讯程序-电子工程世界.pdf (410.44 KB)



            tyw  注






使用特权

评论回复
评论
liushiming82 2023-6-21 10:34 回复TA
@tyw :谢谢T叔,还是那么给力!!! 
tyw 2023-6-21 10:26 回复TA
参考一下 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

97

帖子

1

粉丝