不知道大家有没有遇到这样的情况:批量生产1K,其中有五六片 STM8L101F3 的 uid 在同一次上电的多次读出,它的值的前3个字节是变化的,变化有特定值,不是随机的。比如有这么一些数值: 14 80 00 2D 06 47 38 33 33 38 37 38 00 80 00 2D 06 47 38 33 33 38 37 38 14 80 40 2D 06 47 38 33 33 38 37 38 不同时候读出来的uid 不一致,对于程序来说基本上无法基于uid做一些算法。 下面是我读取 uid 的函数代码: #define ID_BaseAddr 0x4925 static unsigned char STM8L_ID[12] = {0}; unsigned char * Get_STM8L_UniqueID(void) { unsigned char i = 0; for (i=0; i<12; i++) { STM8L_ID[i] = *(unsigned char *)(ID_BaseAddr+i); } return STM8L_ID; } |
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
如何使用ST官网例程_LIN总线通讯_STM8AF
STM8 LIN
IAR代码编辑太费劲了,想问一下有没有好的方法,试了VScode但是头文件老是报错,调了很久也没调好,想换个方法了。
想问一下各位大佬,IAR下载调试代码时出现 warning: is an illegal data sample expression IAR是什么意思啊?
stm8l050j3
你也可以通过工具直接看看,比方STVP看看,是不是 也会出现类似现象。
这些数据按理不会因为读访问而发生变化的。
谢谢回复。
我也是这么认为,不应该因为读访问而改变的。稍后我用 STVP 直接读一下,看看结果如何。
刚才测试了,用stvp不能读出非 Flash 地址空间的信息,改用IAR调试的方式来读写,如果读出来数据变化了,则跳到一个异常输出分支,并且在此设置断点,触发 IAR 来读取 uid 地址的数据,uid存放在 0x4925,下面的gif动图,能看到我执行了2次单步step-over操作的内存变化:
STM8L-uid变化
这论坛会有ST官方的工程师/技术支持关注吗?