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.
CSCTL0时钟系统控制0是用于解锁 CS 寄存器的密码寄存器。
CSKEY 密码。 必须始终与 A5h 一起写入;PUC 为
如果写入任何其他值则生成。 始终读为96h。 之后
写入正确的密码、所有 CS 寄存器均可用于
写作。
如果写入了正确的 passwrd 以外的任何内容、该单元将复位(PUC)。 没有提到如何重新锁定 CS 寄存器。
重新锁定这些寄存器的过程是什么? (锁定是否超时?)
谢谢你
首先、如果您没有写入正确的密码、CS 寄存器将不会解锁。 因此、您无需考虑如何锁定 CS 寄存器。
其次、复位后、所有寄存器都被初始化。 那么寄存器被锁定。
您也可以自行尝试。
是否有解决此问题的技术文档?
通过查看 MSP430FR5922的 cs_01.c 示例、可以看到以下代码:
// Clock System Setup CSCTL0_H = CSKEY >> 8; // Unlock CS registers CSCTL1 = DCOFSEL_6; // Set DCO to 8MHz CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK; // Set SMCLK = MCLK = DCO // ACLK = VLOCLK CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers to 1 CSCTL0_H = 0; // Lock CS registers
其中、上述示例代码在 CTL0的 CSKEY 字段中写入零、并添加注释"Lock CS registers"。 这与 SLAU367P MSP430FR58xx、MSP430FR59xx 和 MSP430FR6xx 系列用户指南不符、该指南规定向 CSKEY 中写入除 A5h 以外的值会生成上电清零(PUC)。
不确定这是用户指南还是示例代码中的错误。