[STM8] UID不唯一?

[复制链接]
1817|41
xxrs 发表于 2020-1-1 13:15 | 显示全部楼层
STM8S003有Unique ID吗? Datasheet上都没有。
liuzaiy 发表于 2020-1-1 13:19 | 显示全部楼层
stm8s005k6没有Unique ID,其他几个都有。楼主可以看下DATASHEET。
 楼主| pangb 发表于 2020-1-1 13:22 | 显示全部楼层
可以用STVD,按照datasheet上的地址直接读memory看看。
morrisk 发表于 2020-1-1 13:25 | 显示全部楼层
读出来都是0,好像有点不对。
guoyt 发表于 2020-1-1 13:32 | 显示全部楼层
003没有UID
guoyt 发表于 2020-1-1 13:35 | 显示全部楼层
有,一直都有。只是你看资料不仔细。
stly 发表于 2020-1-1 13:38 | 显示全部楼层

12个字节都是0,这是不可能的,肯定是你读错了
 楼主| pangb 发表于 2020-1-1 13:43 | 显示全部楼层
不可能读错的,几千上万片的设备都是这样读的,全是0这种只是少数
 楼主| pangb 发表于 2020-1-1 13:46 | 显示全部楼层
不可能读错的,几千上万片的设备都是这样读的,全是0这种只是少数
yszong 发表于 2020-1-1 13:50 | 显示全部楼层
可能是坏的芯片,96位ID是不可能重的,0是ST不会使用的
dingy 发表于 2020-1-1 13:54 | 显示全部楼层
注意 :003和005 的 ID的地址是不一样的。
zhuww 发表于 2020-1-1 14:00 | 显示全部楼层
使用了很多批次 003 ,基本上id 都是不一样的,但是003手册上确实是没有写有唯一的ID。
dingy 发表于 2020-1-1 14:03 | 显示全部楼层
#define FLASH_UNIQUE_ID_ADDRESS         0x48CD
#define MAX_HARD_ADDRESS_WIDTH                        12
for ( i=0; i < MAX_HARD_ADDRESS_WIDTH; i++ )
{
        DEV.TermID = (*((u8*)FLASH_UNIQUE_ID_ADDRESS+i));
}
请问DEV.TermID什么数据类型?
gongche 发表于 2020-1-1 14:07 | 显示全部楼层
96位? 我第一次见。
huwr 发表于 2020-1-1 14:10 | 显示全部楼层
8位?你一直赋给DEV.TermID而又不去组合 我也搞不懂。
happy_10 发表于 2020-1-1 14:13 | 显示全部楼层
数组地址?好像也不是。。。
wenfen 发表于 2020-1-1 14:16 | 显示全部楼层
修改:
struct{
u8 termID[12];
}DEV;
for ( i=0; i < MAX_HARD_ADDRESS_WIDTH; i++ )
{
        DEV.TermID = (*((u8*)FLASH_UNIQUE_ID_ADDRESS+i));//你写的
     DEV.TermID [ i ] = *((u8*)(FLASH_UNIQUE_ID_ADDRESS+i));
     *((DEV->TermID)+i)=*((u8*)(FLASH_UNIQUE_ID_ADDRESS+i));
       // 这两条一个道理
}
dingy 发表于 2020-1-1 14:21 | 显示全部楼层
STM8S00X系列   官方英文手册是没有标明有UID的,可以读的到但不保证它的唯一性,
chenho 发表于 2020-1-1 14:25 | 显示全部楼层
S103的ID号起始地址是0x4865,S105,S207的起始地址是0x48CD.
zwll 发表于 2020-1-1 14:28 | 显示全部楼层
这个芯片有山寨的 ???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部