我试图用以下代码读取OTP内存:
int cnt=100000;
SetBits16(CLK_AMBA_REG,OTP_ENABLE,1);//启用OTP时钟
while((GetWord16(ANA\u STATUS\u REG)&LDO\u OTP\u OK)!=LDO\u OTP\u OK&&cnt--)
//在读取模式下设置OTP
设置字32(OTPC\模式\寄存器,0x1);
uint8\u t*otp\u major=(uint8\u t*)0x47F54;
uint8\u t*otp\u minor=(uint8\u t*)0x47F58;
memcpy(&U)_配置主选项值1,大调,2);
memcpy(&U)_配置次要值2,小调,2);
SetBits16(CLK_AMBA_REG,OTP_ENABLE,0);//禁用OTP时钟
我已经使用PLT将数据写入OTP地址7F54:6C 7F55:00 7F56:00 7F57:00 7F58:00
但是,当程序运行时,似乎没有正确地获取数据。我的广告字符串显示主要和次要为0。
或者,为了测试这个,我可以用我想要的值来编写自定义数据字段,并保留OTP头字段的其余部分,以便稍后编程吗?字段,如32kHz字段选择、BD地址等。。。?
设备:
你好,德洛,
我正在处理你的问题,很快会给你回复。
谢谢,下午好
嗨,PM\U对话,
我想我已经解决了,谢谢你的支持!
你好,德洛,
很高兴你解决了问题。
谢谢,下午好