STM32的唯一ID问题

2019-10-15 07:04发布

数据手册上写唯一ID为96位,但是我的实测是由92位,唯一码:87142313-49557851-672ff55,前两个数组里的都是8个字节,最后一个成了7个字节。是以为是0没有显示么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
xkwy
1楼-- · 2019-10-15 12:38
基地址0x1FFFF7E8,连续读12字节。
读到什么就是什么,跟你怎么显示没关系,

我的是 Unique device ID:0x54 0xFF 0x6D 0x06 0x49 0x67 0x51 0x53 0x20 0x40 0x01 0x87

[mw_shl_code=cpp,true]
int main(void)
{
    uint8_t *p = (uint8_t *)(0x1FFFF7E8);
   
    uart_init(38400);
   
    printf(" Unique device ID:");
   
    for (int i = 0; i < 12; i++)
    {
        printf("0x%02X ", p);
    }
   
    while (1)
    {
        ;
    }
}
[/mw_shl_code]
adlu
2楼-- · 2019-10-15 14:02
自己查一下,肯定是低级错误。

你是怎么得到上面的这串ID码的?通过串口打印吗?
如果是,可能你的打印函数把前面的0略去了。

建议你直接仿真,在keil里读出来后直接观察。
xkwy
3楼-- · 2019-10-15 18:31
 精彩回答 2  元偷偷看……
adlu
4楼-- · 2019-10-15 21:12
xkwy 发表于 2016-5-8 09:58
源代码都给你了,看不到么??

我那个是恢复LZ的。LZ没有提供代码。
miss_lion
5楼-- · 2019-10-16 02:07
adlu 发表于 2016-5-5 17:51
自己查一下,肯定是低级错误。

你是怎么得到上面的这串ID码的?通过串口打印吗?

哈哈,谢谢,解决了,是串口打印的时候把第一位的0过滤了,
luckyCY
6楼-- · 2019-10-16 04:02
miss_lion 发表于 2016-5-9 17:55
哈哈,谢谢,解决了,是串口打印的时候把第一位的0过滤了,

亲,怎么解决的?需要改动哪里??

一周热门 更多>