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.

[参考译文] TMS320F28379D:比特率不匹配

Guru**** 2265200 points
Other Parts Discussed in Thread: TMS320F28379D
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1465839/tms320f28379d-bitrate-mismatch

器件型号:TMS320F28379D

工具与软件:

尊敬的 TI:

我将 TMS320F28379D 与 PCANFD (CAN 转 USB)适配器配合使用。 我的问题是无法在两端正确接收数据。 在板侧、我将比特率设置为500kbps、但在 PCANFD 侧、我只能在比特率设置为250kbps 时接收数据。 将比特率设置为250 kbps 时、可以查看数据、但不能查看500 kbps。

我不确定为什么会发生这种情况。 时钟很重要吗? 比特率、预分频器或 SJW (同步跳转宽度)是否会在这个问题中起作用? 我很难理解如何设置正确的配置。 我查看过 TI 技术文档、但找不到明确的答案。 如果您能提供有关如何解决此问题的清晰说明和指导、将会非常有帮助。

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "device.h"
#include "driverlib.h"
#include <can.h>
#define TX_MSG_OBJ_ID 1
#define MSG_DATA_LENGTH 4
uint16_t data = 0;
void main(void)
{
Device_init();
Device_initGPIO();
// GPIO_17_CANRXB
// GPIO_12_CANTXB
GPIO_setPinConfig(GPIO_17_CANRXB);
GPIO_setPinConfig(GPIO_12_CANTXB);
CAN_initModule(CANB_BASE);
CAN_setBitRate(CANB_BASE, DEVICE_SYSCLK_FREQ, 500000, 16);
CAN_setupMessageObject(CANB_BASE, TX_MSG_OBJ_ID, 0x01,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX