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.

[参考译文] CCS/TMS320F28335:TMS320F28335

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/890372/ccs-tms320f28335-tms320f28335

器件型号:TMS320F28335

工具/软件: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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Anu、

    您对您对示例代码的困惑是正确的。  这个代码 是在一段时间前开发的、我猜的是最初的作者尝试在所有三个示例(回声、回送和带有中断的回送)上使用一些通用初始化代码-再次只是一个猜测。

    从问题1和问题2开始-正确、在回送示例中、设置 SCICTL2 = 0x0003、然后立即将 TXINTENA 和 RXBKINTENA 位设置为"0"毫无意义。  这会有效地设置 SCICTL2 = 0x0000。  回声也是如此。  但是、对于中断示例、TXINTENA 和 RXBKINTENA 位需要设置为"1"。  这可能解释了为什么 SCICTL2最初设置为0x0003 (但它没有解释为什么在中断示例 中 TXINTENA 和 RXBKINTENA 位再次设置为"1")。  我可以看到包含 SCICTL2设置的目的、即使它是默认值、用户也能了解它的价值、这使得它易于理解。

    对于问题3、同样使用相同的逻辑、我可以理解设置 SCICCR = 0x0007是有道理的、因为这是所有示例类型( 1个停止位、 无环回、无奇偶校验、8个字符 位、异步模式、 和 空闲线协议)。  但是、我会在之后立即放置用于启用 LOOPBKENA 的代码、并添加注释说明"回路用于此示例"。  我同意你的看法,这两个问题都可以一起完成。

    至于问题4 (我认为你是 SCICTL1),你不应将第9行与第2行合并。  第9行用于在外设配置完毕后释放 SCI、使其不再被保持在复位状态。   在  不运行时配置外设、然后在配置后运行是一种很好的编程做法。

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

    - Ken

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我指 SCICTL1我的问题4。 感谢您的回复。