Other Parts Discussed in Thread: TMS320F28388D, C2000WARE
器件型号: TMS320F28388D
主题: C2000WARE 中讨论的其他器件
我目前正在使用 TMS320F28388D 并已成功实现了一项功能 CAN A 频率范围 250kbps 。
我希望实现一项允许系统将波特率切换至的特性 500kbps 处于运行时(动态)、而无需完全系统复位。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: TMS320F28388D, C2000WARE
器件型号: TMS320F28388D
主题: C2000WARE 中讨论的其他器件
我目前正在使用 TMS320F28388D 并已成功实现了一项功能 CAN A 频率范围 250kbps 。
我希望实现一项允许系统将波特率切换至的特性 500kbps 处于运行时(动态)、而无需完全系统复位。
您好、Tushar、
遗憾的是、我们没有 CAN 自动缓冲器示例、但有一个测试功能可将 CAN 置于静音模式。 在该模式下、CAN 将能够接收帧、但不会发送 ACK 或错误帧、本质上仅使节点处于侦听模式。
您可以按照以下伪代码实施例程:
a.系统初始化(类似于设置器件时钟的 C2000Ware 示例中的 Device_Init ())
b.为 CAN TX/RX 配置 GPIO 引脚(请参阅 CAN 示例,了解如何实现此操作)
c.使用 API can_initModule() 初始化 CAN
d.使用 API CAN_enableTestMode 设置静音模式 (CANbase、can_test_silent)
d.使用 API can_setBitRate () 设置 CAN 位时序 — 为不同的比特率(如 250kbps、500kbps、1Mbps 等)设置标志/选项、因为这将在一个循环中调用
e.设置 CAN 中断路由(如果您决定使用 ISR)-请为此遵循 CAN 示例
f.使用 API can_setupMessageObject() 设置 MessageObject — 请参见不同的 CAN 示例作为参考。 您可以设置消息过滤、ID 以及 ISR 是否已激活
g.使用不同的波特率设置在每个循环中循环遍历步骤 c 到 f、并通过 ISR 或循环检查是否接收到与 can_setupMessageObject () 中设置的内容相匹配的有效消息。 消息对象应与发送到 CAN 总线的 CAN 帧的属性(控制,ID、DLC)相匹配。
在接收到有效帧时、使用 API can_disableTestMode (CANbase) 关闭静音模式
希望这将帮助您开始设计。
此致、
Joseph