ZHCAEF1 September 2024 MSPM0G3507
本节介绍了示例代码如何设置不同的参数来识别系统的构建方式。第一部分是实际使用的 LED 驱动器 IC。在 led_driver.h 文件中,选择使用的 LED 驱动器 IC。示例代码默认包括 TPS929240。
示例代码还支持:
请注意,对于 Q1 器件,不会添加该后缀,仅使用基本米6体育平台手机版_好二三四名称。所选器件对于处理寄存器中不同的寄存器地址和字段非常重要。此外,在对默认 EEPROM 进行编程时,指定的 LED 驱动器 IC 是用于对默认值进行编程的驱动器 IC。这意味着当用户想要将 TPS929120 编程为 TPS929120A 时,必须在 led_driver.h 文件中选择 TPS929120A。
表 4-1 中汇总了影响系统设置的宏和变量。
文件名 | 宏或变量名称 | 说明 |
---|---|---|
system_info.h | DEVICE_CNT | FlexWire 总线上的器件数量 |
CAN_USED | 在 UART 或 UART 转 CAN 之间进行选择 | |
ALWAYS_CHECK_CRC | 为所有非广播命令启用 CRC 检查功能 | |
PROG_EEPROM | 启用 EEPROM 编程模式 | |
PROG_DEFAULT_EEPROM | 对默认 EEPROM 值进行编程,而不是对自定义 EEPROM 值进行编程 | |
USE_REF_PIN_FOR_EEPROM_PROG | 在 EEPROM 编程期间使用 REF 引脚 | |
system_info.c | device_address | FlexWire 总线上的器件地址列表 |
FlexWire.c | rcvCrcError | 如果接收到的 CRC 有错误则报告 |
在 system_info.h 文件中,FlexWire 总线上的器件数由宏 DEVICE_CNT 定义。示例代码仅支持 1 条 FlexWire 总线。
// Total devices on FlexWire bus #define
DEVICE_CNT 1
这些器件的实际地址在 system_info.c 文件中指定。地址序列决定了 FlexWire 非广播写和读命令的顺序。因此,对于不同的器件地址序列,动画模式下的 LED 图形看起来会有所不同。
const uint16_t
device_address[DEVICE_CNT] = {DEVICE_ADDR__1};
system_info.h 文件还定义了其他系统参数。
//
Define if CAN or UART is used #define CAN_USED FALSE // When non-broadcast is transmitted,
does the CRC need to be checked #define ALWAYS_CHECK_CRC FALSE
宏 CAN_USED 定义是否为 FlexWire 总线使用 UART 或 UART 转 CAN。这会影响在 MCU UART-RX 引脚上接收到的总字节数。
宏 ALWAYS_CHECK_CRC 定义对于接收到的反馈,是否每个非广播写入命令都需要检查 CRC。当检查 CRC 后发现其不正确时,全局变量 rcvCrcError 设置为 TRUE。在所有其他情况下,该变量设置为 FALSE。变量 rcvCrcError 在文件 FlexWire.c 中定义。
// When an error in CRC of the received data is observed, set this to TRUE unsigned
int rcvCrcError;