CAN收发 多帧发送接收

所属分类:通讯编程
开发工具:C/C++
文件大小:3681KB
下载次数:26
上传日期:2019-04-02 17:20:22
上 传 者一个人的角落
说明:  can总线 多帧传输 接收发送
(Can bus multi-frame transmission receiving and sending)

文件列表:
can (0, 2018-08-29)
can\caninc.h (111, 2018-08-29)
can\cansrc.c (21911, 2018-08-29)
can\comstructs.h (3080, 2014-03-31)
CORE (0, 2018-09-14)
CORE\core_cm3.c (17273, 2010-06-07)
CORE\core_cm3.h (85714, 2011-02-09)
CORE\startup_stm32f10x_hd.s (15503, 2018-09-14)
HARDWARE (0, 2018-08-29)
HARDWARE\CAN (0, 2018-09-18)
HARDWARE\CAN\can.c (25960, 2018-09-18)
HARDWARE\CAN\can.h (3584, 2018-09-17)
HARDWARE\KEY (0, 2018-08-29)
HARDWARE\KEY\key.c (1789, 2018-08-14)
HARDWARE\KEY\key.h (1156, 2018-08-14)
HARDWARE\LED (0, 2018-09-12)
HARDWARE\LED\led.c (1622, 2018-09-12)
HARDWARE\LED\led.h (408, 2018-08-14)
keilkilll.bat (399, 2011-04-23)
OBJ (0, 2018-09-19)
OBJ\CAN.axf (549492, 2018-09-18)
OBJ\CAN.build_log.htm (1350, 2018-09-19)
OBJ\can.crf (366018, 2018-09-18)
OBJ\can.d (1835, 2018-09-18)
OBJ\CAN.hex (34513, 2018-09-18)
OBJ\CAN.htm (68462, 2018-09-18)
OBJ\CAN.lnp (620, 2018-09-18)
OBJ\can.o (408064, 2018-09-18)
OBJ\CAN.sct (479, 2018-07-06)
OBJ\CAN_CAN.dep (37084, 2018-09-19)
OBJ\cansrc.d (1911, 2018-08-29)
OBJ\comcan.d (228, 2018-08-29)
OBJ\core_cm3.crf (4281, 2018-08-31)
OBJ\core_cm3.d (104, 2018-08-31)
OBJ\core_cm3.o (11660, 2018-08-31)
OBJ\delay.crf (350060, 2018-08-31)
OBJ\delay.d (1669, 2018-08-31)
OBJ\delay.o (384668, 2018-08-31)
OBJ\ExtDll.iex (19, 2018-09-17)
OBJ\key.crf (351806, 2018-08-31)
... ...

实验器材: 战舰STM32F103开发板V3版本 实验目的: 学习CAN总线的使用. 硬件资源: 1,DS0(连接在PB5) 2,串口1(波特率:115200,PA9/PA10连接在板载USB转串口芯片CH340上面) 3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模块(通过FSMC驱动,FSMC_NE4接LCD片选/A10接RS) 4,按键KEY0(PE4)/KEY_UP(PA0) 3,CAN(STM32自带的CAN控制器,连接在PA11/PA12) 实验现象: 本实验代码,可以让STM32F1的CAN工作在环回模式/普通模式下,通过KEY_UP按键切换模式。默认是环回模 式,在环回模式下,按下KEY0,则可以在LCD模块上面看到自发自收的消息。如果是普通模式,那么需要两 个开发板,并且用线将两个开发板的CAN接口连接起来,同时需要设置板上的P9端口连接在CAN上面,在普 通模式下,按下一个开发板的KEY0,可以在另外一个开发板上看到收到的信息。 注意事项: 1,4.3寸和7寸屏需要比较大电流,USB供电可能不足,请用外部电源适配器(推荐外接12V 1A电源). 2,本例程在LCD_Init函数里面(在ILI93xx.c),用到了printf,如果不初始化串口1,将导致液晶无法显示!! 3,P9跳线帽的连接状态必须是:CAN_TX连接PA12,CAN_RX连接PA11. 4,CAN接口的CANL/CANH线不能接错,必须CANL接CANL,CANH接CANH. ------------------------------------------------------------------------------------------- ◆其他重要连接: 开发板光盘资料下载地址(视频+文档+源码等):http://www.openedv.com/posts/list/13912.htm 添加微信公众平台方法:http://www.openedv.com/posts/list/45157.htm ◆友情提示:如果您想以后及时免费的收到正点原子所有开发板资料更新增加通知,请关注微信公众平台: 2种添加方法:(动动手提升您的学习效率,惊喜不断哦) (1)打开微信->添加朋友->公众号->输入“正点原子”->点击关注 (2)打开微信->添加朋友->输入“alientek_stm32"->点击关注 具体微信添加方法,请参考帖子:http://www.openedv.com/posts/list/45157.htm 正点原子@ALIENTEK 广州市星翼电子科技有限公司 电话:020-38271790 传真:020-36773971 购买:http://eboard.taobao.com 公司网站:www.alientek.com 技术论坛:www.openedv.com MultiRxCanMsg tempCanRxMsg; //用于提取CAN总线接收到的数据的变量,防止处理过程中被覆盖 // if( MultiCanMsgDeal_Pos != MultiCanMsgRx_Pos ) // { tempCanRxMsg = MultiCanMsg[ MultiCanMsgDeal_Pos ] ; // if( tempCanRxMsg.ProFlag == 1 ) //接收完成 // { // printf("打印can数据\r\n"); // CanCmd_CanDataDisplay( &MultiCanMsg[ MultiCanMsgDeal_Pos ] ); // //多帧数据处理 // CanCmd_SendCommand(0x1a,PCID, CANID,tempCanRxMsg.Data,tempCanRxMsg.Len); // // CanCmd_SendCommand(0x3a,POSID, CANID,tempCanRxMsg.Data,tempCanRxMsg.Len); // // MultiCanMsg[ MultiCanMsgDeal_Pos ].ProFlag = 0; // MultiCanMsg[ MultiCanMsgDeal_Pos ].EmptyFlag = 0; // } // printf("can数据 %i\r\n",i++ == 200 ? 0:i); // CanCmd_Deal_MultiFrame_Pos();

近期下载者

相关文件


收藏者