Other Parts Discussed in Thread:C2000WARE
最近使用F28388D的评估板作为测试板。
选用的例程是C2000Ware里面的 can_ex3_external_transmit.c
在进行运行程序的时候,发现只有txMsgData[4]数据一直在变化。
但是,rxMsgData[4]却没有数据变化。
仔细查看F28388D的评估板,发现,这个板子没有CAN收发器的模块。然后,手工制作了一个CAN收发器模块,同时准备了STM32的开发板(如果自制的CAN收发器不起作用,打算借用32的CAN收发器),我把一路CAN收发器接到CANA上(硬件上是36和37引脚),然后收发器的高低输出引脚接到了STM32(另外的一块开发板)的CANH和CANL。
然后debug can_ex3_external_transmit.c,在expression窗口的变量变化中,只有
txMsgData[4]数据一直在变化。
但是,rxMsgData[4]却没有数据变化。
特来请教,是例程的问题,还是配合例程的硬件连接上有问题呢?
谢谢
Susan Yang:
我会在测试后给您回复
,
Susan Yang:
请参考例程内的使用要求:
//! \note Both CAN modules on the device need to be connected to each other
//!via CAN transceivers.
//!
//! \b Hardware \b Required \n
//!- A C2000 board with two CAN transceivers
//!
//! \b External \b Connections \n
//!- ControlCARD CANA is on GPIO37 (CANTXA) and GPIO36 (CANRXA)
//!- ControlCARD CANB is on GPIO12 (CANTXB) and GPIO10 (CANRXB)需要开发板和2个CAN transceivers,您现在是这样接的吗?
,
@vince:
自己在查找问题的时候,对照底板的PDF有点不太确定一点,28388D的GPIO口,与底板上的(图中蓝色线标的)有数字的引脚,是一一对应的吧
特来请教
谢谢
,
@vince:
我将F28388D中CANA的RX、TX接到STM32(正点原子的32开发板)的CAN收发器模块(A1050芯片),F28388D中CANB的RX、TX连接到另一块STM32的CAN收发器模块(A1050)上,将两个CAN收发器模块(A1050芯片)的CANH、CANL连接在了一起。在测试之前。我对程序有了修改,由于F28388D评估板的底板上没有GPIO10,我将它用GPIO13替换了一下。
下图,是修改的地方,只是将原来的10换成了13,程序中别的地方,没有修改。(在device.h中做的修改)
测试完,还是老样子。rxMsgData[4]没有数据
,
Susan Yang:
“自己在查找问题的时候,对照底板的PDF有点不太确定一点,28388D的GPIO口,与底板上的(图中蓝色线标的)有数字的引脚,是一一对应的吧”
这个很多都是不一一对应的,建议您查找底板的原理图和controlcard的原理图对照一下
,
@vince:
行,程序上,我动了一下,再debug,没什么影响吧
,
@vince:
谢谢,确实是引脚对应错误的事情,感谢
,
Susan Yang:
很高兴您能解决问题!
,
@vince:
灰常感谢
,
Susan Yang:
不客气~