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.
我有MSP432p401r启动板,并且正在使用7.3。 我正在使用TIME_A0,并且使用3MHz的SMCLK。 我想更改SMCLK,并在技术手册中阅读,我可以更改它,但我需要将0x695A写入CSKEY寄存器。 问题是未在msp432p401r.h头文件中定义CSAKEY。 定义了CS_KEY_VALUE,定义了其他CS变量,但未定义CSKEY。 所以当我尝试编译我的c代码时,我收到一个错误,说CSKEY未定义。 我只是想知道CKEY的定义是什么。
我还创建了一个指向CSKEY地址位置的指针,如下所示:
#define CSNKEY (*((volatile UINT32_t *)0x4001.04万))
当我创建自己的CSKEY时,我的编译器编译正常,但当我通过调试器查看CSKEY寄存器是否已写入时,寄存器未更改。
在哪里可以访问CSAKEY指针?
为什么我的#define CSKEY不访问时钟系统密钥寄存器中的内存位置?
谢谢你
因此,当我使用(CMSIS样式)“CS->key”时,它编译时没有任何错误,这太棒了! 是的。 但CS地址的寄存器都不会更改:
CS->键= 0x695A; //这是密码 CS->CTL1 &= 0xAFFFF;//这应使SMCLK在750 kHz时钟频率 CS->key = 0x1111; //除密码之外的任何内容都将锁定设置
在浏览这三行代码后,在调试器寄存器视图中没有任何寄存器更改,并且我的LED指示灯以3MHz/64频率闪烁(基本上SMCLK时钟没有更改)。
关于为什么不更改CS->key或CS->CTL1寄存器有什么想法?
我知道我在通过和向CS->CTL1写信时出了什么问题。 我没有修改任何位。 我最初的意思是"或"。 当我把它改成“正常”时,我觉得很有道理,谢谢。
现在我知道,在为CS->密钥分配正确的密码后,我不会再读回密码,我将始终读取重置号码。
谢谢你