在项目程序中直接调用官方例程的FlashReadOTPword函数读取0x10地址的值得到ID号,并发送到电脑串口观察数值,多次上电接收到的数值都是一样的,排除是串口的问题。只要我修改了项目程序中其他与读ID号毫不相关的功能后,读出的ID号就跟之前不一样了,将程序改回去后,读出的ID号又和之前一样了。
我还另写了一个单独测试ID号的程序,但测试程序修改其他与读ID号不相关的功能并不会改变读出的ID值。而且在先烧录项目程序再烧录测试程序的情况下,测试程序读出的是ID值和项目程序的一样,也就是说项目程序读出的ID号变化测试程序读出的ID号也变。但一直烧测试程序读出的ID号是不会变的。
请问这是什么问题呢?另外测试程序编译后大小为1K左右,项目程序编译后大小为23K左右。