liuzonggong 发表于 2024-8-13 20:37:24

id号加密的方法

本帖最后由 liuzonggong 于 2024-8-14 18:46 编辑

在c程序的开头定义一个code数组,例如unsigned char code id_home={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea};
这里定义了8个字符空间;最后的写入一个识别字符0xEA是为了方便在程序文件中找到位置,字符是啥自己定义。编译后用stcai—isp软件打开程序文件;

liuzonggong 发表于 2024-8-13 20:37:51

本帖最后由 liuzonggong 于 2024-8-14 18:49 编辑

从标记符号前面开始的七个字节就是要写入的经过加密过的id数据,箭头指的这个FF就是要写入加密id的首字节的位置。

liuzonggong 发表于 2024-8-13 20:38:27

本帖最后由 liuzonggong 于 2024-8-13 20:50 编辑

再下载程序就行了。没必要死板地写到一个特定的地方。

DebugLab 发表于 2024-8-13 20:40:09

这事我干过,用_at_指定地址就行了,注意避开中断向量

liuzonggong 发表于 2024-8-13 21:15:02

DebugLab 发表于 2024-8-13 20:40
这事我干过,用_at_指定地址就行了,注意避开中断向量

能具体说说吗?论坛上没有这么成功的。

DebugLab 发表于 2024-8-13 22:09:52

liuzonggong 发表于 2024-8-13 21:15
能具体说说吗?论坛上没有这么成功的。


我是用特殊的算法手动在isp软件里填的
你可以用code和_at_保留为0xFFFF
unsigned char code xxx={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF} _at_ 0x****;

liuzonggong 发表于 2024-8-14 15:31:06

DebugLab 发表于 2024-8-13 22:09
我是用特殊的算法手动在isp软件里填的
你可以用code和_at_保留为0xFFFF
unsigned char code xxx={0xF ...

unsigned char code hom={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF} _at_ 0x0200;
这个定义keil不认啊。它给出了错误提示,不认at
MAIN.C(3): error C141: syntax error near '_at_'

DebugLab 发表于 2024-8-14 17:22:34

liuzonggong 发表于 2024-8-14 15:31
unsigned char code hom={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF} _at_ 0x0200;
这个定义keil不认 ...

那就像我图片里这样写

liuzonggong 发表于 2024-8-14 18:53:51

DebugLab 发表于 2024-8-14 17:22
那就像我图片里这样写

也不行

乘风飞扬 发表于 2024-8-15 09:39:55

附件是ID加密数据,自动增量数据到指定地址并通过串口打印的例子,供参考。
页: [1] 2
查看完整版本: id号加密的方法