使用正点原子的触摸USB鼠标例程修改产品序列号iSerialNumber为自定义序列号

在使用正点原子mini开发板触摸usb鼠标例程时,通过USB抓包软件USBlyzer抓取到的产品序列号iSerialNumber是一组12位的字符串。如图1所示。通过程序跟踪得知,这个字符串是stm32唯一设备ID号。寄存器地址如图2所示。

 图1、产品序列号显示为stm32的唯一设备ID号

 图2、stm32唯一设备ID寄存器地址

usb_desc.c程序里面Joystick_StringSerial数组虽然写了“STM32”,如图3所示。但由于在hw_config.c程序里面的void Get_SerialNum(void)函数读取了stm32的Unique Devices ID,并对Joystick_StringSerial从第2字节开始的24字节进行填充,所以不管usb_desc.c程序中的Joystick_StringSeria里面写什么字符串,最后显示出来的结果都是stm32的唯一设备ID。如图4所示。

图3、自定义的产品序列号

图4、获取stm32唯一设备ID号,并填充到Joystick_StringSerial数组中

如果想把产品序列号改为自定义的,只需把hw_config.c文件中void Get_SerialNum(void)里面的IntToUnicode (Device_Serial0, &Joystick_StringSerial[2] , 8);和IntToUnicode (Device_Serial1, &Joystick_StringSerial[18], 4);屏蔽掉就可以了。如图5所示。

图5、屏蔽填充指令

图6、重新自定义产品序列号

图7、显示的自定义产品序列号

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值