CAN_test

所属分类:单片机开发
开发工具:Objective-C
文件大小:273KB
下载次数:472
上传日期:2012-12-24 11:22:31
上 传 者jirow
说明:  STM32的CAN OPEN总线通讯的工程代码,可实现完整的链路层和应用层功能
(STM32 CAN OPEN bus communication engineering code, can achieve full link layer and application layer functions )

文件列表:
CAN_test\CAN.Opt (3387, 2008-10-17)
CAN_test\CAN.Uv2 (2777, 2008-10-14)
CAN_test\CAN_CAN.dep (4351, 2008-10-17)
CAN_test\CAN_Opt.Bak (3388, 2008-10-17)
CAN_test\CAN_STM32F10x Release.dep (3950, 2008-10-06)
CAN_test\CAN_Uv2.Bak (5189, 2008-10-14)
CAN_test\listing\main.i (71702, 2008-10-17)
CAN_test\listing\release.map (74357, 2008-10-17)
CAN_test\listing\STM32F10x.lst (31394, 2008-10-17)
CAN_test\listing\stm32f10x_it.i (69932, 2008-10-17)
CAN_test\main.c (11780, 2008-10-07)
CAN_test\output\main.crf (150161, 2008-10-17)
CAN_test\output\main.d (1810, 2008-10-17)
CAN_test\output\main.o (179760, 2008-10-17)
CAN_test\output\main.txt (24085, 2008-10-17)
CAN_test\output\release.axf (100684, 2008-10-17)
CAN_test\output\release.hex (10123, 2008-10-17)
CAN_test\output\release.htm (42670, 2008-10-17)
CAN_test\output\release.lnp (353, 2008-10-17)
CAN_test\output\release.map (55053, 2008-10-06)
CAN_test\output\release.plg (153, 2008-10-17)
CAN_test\output\release.sct (479, 2008-10-06)
CAN_test\output\release.tra (1178, 2008-10-17)
CAN_test\output\STM32F10x.o (4804, 2008-10-17)
CAN_test\output\stm32f10x_it.crf (150004, 2008-10-17)
CAN_test\output\stm32f10x_it.d (2091, 2008-10-17)
CAN_test\output\stm32f10x_it.o (232792, 2008-10-17)
CAN_test\output\stm32f10x_it.txt (15408, 2008-10-17)
CAN_test\STM32F10x.s (8816, 2008-10-06)
CAN_test\stm32f10x_conf.h (5640, 2008-10-06)
CAN_test\stm32f10x_it.c (22916, 2008-10-06)
CAN_test\stm32f10x_it.h (3357, 2008-10-06)
CAN_test\listing (0, 2009-10-26)
CAN_test\output (0, 2009-10-26)
CAN_test (0, 2009-10-26)

1设计要求 为了利用一块STM103V100评估板来实现CAN通讯,令bxCAN处于环回模式,也就是能接收自己 发送的报文,并保存(如果可以通过接收过滤)在接收邮箱里。分别采用以下两种方式来发 送接收报文,以测试CAN接口,并通过LED灯来反映CAN通讯的情况。 使bxCAN以100Kb/s的速率发送报文,采用轮询的方式接收报文,如果接收成功,LED1灯亮, 否则,LED3灯亮; 使bxCAN以500Kb/s的速率发送报文,采用中断的方式接收报文,如果接收成功,LED2灯亮, 否则,LED4灯亮。 2 硬件电路设计 在评估板上,LED1、LED2、LED3、LED4分别与PC6、PC7、PC8、PC9相连,由于采用环回模式, 因此无需连接Rx和Tx。 3 软件程序设计 根据设计任务要求,该程序内容比较简单,主要包括: (1) 配置GPIO口,将PA.11和PA.12w配置为CAN的输入输出引脚,将PC.06、PC.07、PC.0和 PC.09配置为输出。 (2) 配置bxCAN,使bxCAN以100Kb/s的速率发送报文,采用轮询的方式接收报文,如果接收 成功,LED1灯亮,否则,LED3灯亮; (3) 配置bxCAN,使其以500Kb/s的速率发送报文,采用中断的方式接收报文,如果接收成功, LED2灯亮,否则,LED4灯亮; (4) 在CAN接收中断服务子程序中接收报文。 整个工程包含3个源文件:STM32F10x.s、stm32f10x_it.c和main.c,其中STM32F10x.s为启动 代码,CAN接收中断服务子程序在stm32f10x_it.c中,其它函数则在main.c中。 4 运行过程 (1) 使用Keil uVision3 通过ULINK 2仿真器连接实验板,使用STM32V100评估板附带的串口线, 连接实验板上的UART0和PC机的串口,打开实验例程目录CAN_test子目录下的CAN.Uv2例程,编 译链接工程; (2) 点击MDK 的Debug菜单,点击Start/Stop Debug Session; (3) 观察LED1、LED2、LED3、LED4灯的变化情况。 (4) 为了能更好观测CAN通讯过程,可以使用软件仿真调试,选择"Run to Main"。在点击 Start/Stop Debug Session之后再点即菜单Peripherals->CAN->Communication,然后继续仿真 运行程序。如果程序允许正确,在CAN:Communicaiton窗口将可以看到2个报文收发过程。读者 还可以点击菜单Peripherals->CAN下其他选项来查看CAN接口其他属性,点击菜单Peripherals-> Gerenal Purpose I/O->GPIOA查看LED灯的状态。

近期下载者

相关文件


收藏者