工具/软件:Code Composer Studio
大家好、我不熟悉 F28335电路板以及 CCS。 我正在讨论一些例子、并有一些疑问。
在 CCS 中的 SCIA 回送启用示例中:
为什么 SCICTL2寄存器在第3行中首先设置为0x0003、这会设置 TXINTENA 和 RXBKINTENA、然后立即将这两个寄存器都设置为0。 这样做有什么意义? 相反、SCICTL2可能刚刚在一行中初始化为0x0000。 为什么不能做到这一点?
2、或者无需初始化任何内容、因为复位后、寄存器本身的默认值为0x0000。 那么为什么要初始化 SCICTL1寄存器呢? 可以这么做吗?
同样、SCICCR 寄存 器也可以设置为0x0017h、而不是在第1行中单独设置0x0007、在第8行中启用 LOOPBKENA。 为什么要单独完成?
如果 SCICTL2寄存器在第2行中被初始化为0x0023、将会发生什么情况。 是否初始化所有其他寄存器、是否需要软件复位?
第1行:SciaRegs.SCICCR.all =0x0007;
第2行:SciaRegs.SCICTL1.all =0x0003;
第3行:SciaRegs.SCICTL2.all =0x0003;
第4行:SciaRegs.SCICTL2.bit.TXINTENA=0;
第5行:SciaRegs.SCICTL2.bit.RXBKINTENA=0;
第6行:SciaRegs.SCIHBAUD =0x0000;
第7行:SciaRegs.SCILBAUD =0x000F;
第8行:SciaRegs.SCICCR.bit.LOOPBKENA=1;//启用回路
第9行:SciaRegs.SCICTL1.all =0x0023;//从复位中撤回 SCI