找回密码
 立即注册
楼主: 深圳湾

请教关于USB设备序号(iSerialNumber字段)的配置方法 | 已了解

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:407
  • 最近打卡:2025-09-04 00:04:30

26

主题

78

回帖

2457

积分

金牌会员

积分
2457
发表于 4 天前 | 显示全部楼层
      以下是借助MCU ID 配置  iSerialNumber 的代码,希望能帮到有需要的朋友,之所以叫“借助”是因为在 MCU ID 中包含有超出规范的值,不能直接使用,需要进行排除,这段代码比较简单,可能无法保证序列号的唯一性,但能碰到相同的几率应该非常低,足够要求不高的一些应用场景了,以下代码经过了4、5个同款设备实验后没有发现问题(我只做了5个样品),序号都各不相同。

      另外推荐何老师的书“STC32位8051单片机原理及应用”,在解决问题的过程中,就是通过学习书中USB相关章节才找到解决方法的,书中对STC官方的USB代码讲得非常详细,要注意的是USB相关章节的内容是在线阅读的,只有购买正版图书才能看到

这段代码添加到这里:usb_req_stc.c --> usb_get_descriptor()函数 -->switch (Setup.wValueH) 的 case DESC_STRING --> switch (Setup.wValueL)的 case 3
(不知道为什么代码总是粘贴不全,只好贴图了,大家自己敲吧)
截图202509010003479350.jpg

点评

楼主对序列号长度有限制吗?想到个能保证唯一性的办法,将原始ID转为hex格式表述的字符串即可。  详情 回复 发表于 3 天前
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:287
  • 最近打卡:2025-09-03 08:55:47
已绑定手机

80

主题

3046

回帖

6473

积分

荣誉版主

无情的代码机器

积分
6473
发表于 3 天前 | 显示全部楼层
深*** 发表于 2025-8-31 23:47
以下是借助MCU ID 配置  iSerialNumber 的代码,希望能帮到有需要的朋友,之所以叫“借助”是因为在  ...

楼主对序列号长度有限制吗?想到个能保证唯一性的办法,将原始ID转为hex格式表述的字符串即可。
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:407
  • 最近打卡:2025-09-04 00:04:30

26

主题

78

回帖

2457

积分

金牌会员

积分
2457
发表于 3 天前 | 显示全部楼层
erci*** 发表于 2025-9-1 18:17
楼主对序列号长度有限制吗?想到个能保证唯一性的办法,将原始ID转为hex格式表述的字符串即可。
...

我居然没想到,这个方法应该能行,回头我试试,长度不是问题,反正到了电脑上也是用用字符串格式存储的,我可以直接转成这样再发送:xx-xx-xx-xx-xx-xx-xx
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-9-4 04:34 , Processed in 0.120235 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表