如何用硬件加密方式对avr单片机与上位机通信内容进行加密

如何用硬件加密方式对avr单片机与上位机通信内容进行加密,第1张

上位机程序可以用高级语言自己编写一个,也可以用"串口助手"之类的工具软件来做实验串口助手可以调节串口的很多参数,非常方便做串口实验,即使需要编写上位机软件,也可以用串口助手先实现功能

单片机的程序,则基本上就是根据需要来设定单片机串口的参数,然后根据接收的数据来执行相应 *** 作,例如点亮一个LED等

二者之间需要拟定一个通讯协议,就是说,每次传输几个字节,每个字节做什么用,各个字节的值表示什么意思,这个协议是上位机和下位机都必须遵守的一个东西,否则下位机就无法理解上位机发过来的指令或数据了,就变成鸡同鸭讲了

STC读内部ID号工具组(自解压文件:103K), 原文件是一个自解压文件,这里改为RAR,只有5K,也帮你贴到这里来了。(注意:该工具组好像只能使用在有物理串口的单片机使用。例如STC15F系列因串口需IO模拟,应该是运行后无效的)

解开后有一个EXE文件和一个HEX文件。将HEX文件 ISP写入单片机,运行ShowIDexe, 设置好串口号,波特率随便设,例如9600,按读取信息键即可读取ID等信息。

(该工具组主要是方便检验唯一ID的,实际应用请看官方数据表里有C语言的范例。图中为一块STC12C5A08S2为例,请看其显示的结果与使用编程读取以上15位数据通过串口发送,用最新的程序匠人的“串口猎人”V26接收显示是一样的!:) )

不同的芯片的ID都是唯一的,上图是两个不同批次的STC12C5410AD的ID。该ID使用7位字符,可以描述的总数为: 256^7=72,057,594,037,927,936个(天文数字)!应该不会重复了吧。。呵呵。。。

额,首先,这个加密的原理要清楚。还有编译的原理要清楚。。。

第一,程序为什么会被读出来?因为编程器编程总要校验一下比较安全,保证编程可靠。所以,编程器一般都可以读程序。但是,这个被山寨哥们看上了就是大大的方便了。于是,加密位就被设计出来了。加密一下,编程器就读不出程序了。这个在编程时编程器设置项了可以选择。具体发生的事情是:编程器对器件的加密位编程。于是器件的“读”功能就被限制。只有全擦除可以连加密位一起还原。如此就达到了代码保护的作用。由于这个过程不涉及程序本身,属于对器件的“设置”。并不是靠程序执行来起作用的。所以靠编译器来加密?还是算了吧。。。

第二,编译是把由高级语言写成的源代码,翻译成“天书”的过程。这个涉及到的,仅仅是一个翻译的过程。就像说话,跟美国人说是要说“鸟语”的。但是意思是一个样的。要是这个再能加密,那么抱歉,美国人也不都是中情局的,到时候会看不懂“密电”的。

以上就是关于如何用硬件加密方式对avr单片机与上位机通信内容进行加密全部的内容,包括:如何用硬件加密方式对avr单片机与上位机通信内容进行加密、stc的单片机怎么用id号来加密、51单片机怎么加密 在源代码会不会有用来加密的代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9427162.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存