您好!
我的设置为 EXP-MSP430FR5994 (用于时钟的外部晶振)、BQ76600 EVM (UART)、定制 BQ79616。 我使用 MSP430 DMA 进行 UART 接收。 我正在进入下面概述的比赛状态、并尝试解决方案。 唯一有助于实现 BQ 一致初始化的解决方案是在通过 UART 传输数据之前明确清除 DMAEN。
如果在 uartSend 中没有显式清除 DMAEN、BQ 初始化有时会在 BQ 自动寻址序列期间的第一次抛出读取后失败。
DMA 传输大小变量 uartRxLen 显示正确的值(并与寄存器宽度匹配);
本地 DMA 接收缓冲区 DMA_VALUE 的内容包含所有接收字节;但 DMA1SZ 寄存器中的值= 1、DMA ISR 不会触发。 我无法捕获故障发生的确切时刻。
下面列出的其他解决方案替代清除 DMAEN。 这些都不能帮助改善比赛条件:
1.在 DMA ISR 中从 LPM 中删除 EXIT (不存在 LPM 条目)
250ms BQ 测量时间(主计时器 ISR 当前为125ms)
3.在 UART ISR 上接收第一个字节;禁用 UART Rx ISR、然后为剩余的接收字节启动 DMA 传输。
我需要有关我可以尝试解决此问题的其他问题的指针。
Priya