工具/软件:
由于淘汰、我们从 NXP SC28L91切换到 TL28L92。 似乎我们要使用它的所有东西都是直接替代的。
我们的问题在于 OP0输出。 我们没有尝试将其用作 RTS 握手、就像用作输出引脚一样。 但是、该引脚一直处于高电平。 我们怀疑这可能是 MR2A 寄存器的原因。无论写入什么内容、该寄存器都会回读为0xFF。 MR1A、MR1B 和 MR2B 全部读回预期数据。
下面是我们在启动时对器件的配置。 从第一列开始、向下初始化"A"寄存器。 然后、第二列用于初始化"B"寄存器。
CRA 0x30 |
CRB 0x30 | 复位发送器 |
CRA 0x20 |
CRB 0x20 | 复位接收器 |
CRA 0x10 | CRB 0x10 | 指向 MR1 |
MRA 0x06 | MRB 0x06 | 奇校验 |
MRA 0x07. | MRB 0x07 | 1个停止位 |
CRA 0xB0 | CRB 0xB0 | 指向 MR0 |
MRA 0x3C | MRB 0x38 | 中断/FIFO/外部波特率 |
CSRA 0x33 | CSRB 0xCC | 波特率 |
ACR 0x60 | ACR 0x60 | 波特率生成器 |
OPCR 0x00 | OPCR 0x00 | 所有 OPS 都是输出 |
CRA 0x30 |
CRB 0x30 | 复位发送器 |
CRA 0x20 |
CRB 0x20 | 复位接收器 |
CRA 0x0C |
CRB 0x0C | 禁用 Tx 启用 Rx |
CRA 0x40 |
CRB 0x40 | 复位错误状态 |
IMR 0x22 |
IMR 0x22 | 初始化中断 |