当前位置:网站首页>单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇
单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇
2022-07-03 09:09:00 【枪哥玩转嵌入式】
单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时的4位8位发展到现在的各种高速单片机……

各个厂商们也在速度、内存、功能上此起彼伏,参差不齐~~同时涌现出一大批拥有代表性单片机的厂商:Atmel、TI、ST、MicroChip、ARM…国内的宏晶STC单片机也是可圈可点…
下面为大家带来51、MSP430、TMS、STM32、PIC、AVR、STC单片机之间的优缺点比较及功能体现……
单片机最大的短板是计算能力有限,如果加密要求不高,可利用随机发生器设计一个简单的加密逻辑,在单片机中用软件完成运算后发送,比如可用随机数与发送内容进行异或运算,但需要把随机数打包发送出来,接收方再按单片机的方式去反向运算。报文格式自己设计一下,加一些简单的冗余验证。

文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///
当然,上面这种方式肯定有很多缺陷,大神门就不用拍砖了,既然题主说“简单加密”,那就权当一个参考思路吧。
如果想做的比较规范一下,可以参考一下国密算法中的SM4(SM1、2、3就不建议了),不过前面提了单片机的算力有限,不宜实现太复杂的运算。
STC单片机和STM32单片机都是采用独立的数据和地址总线访问数据和程序存储器的哈弗计算机结构。STC单片机是基于MCS-51内核的8位单片机,STM32是基于Cortex-M3内核的32位单片机。

两者都具备单芯片内集成计算机的核心运算处理器和不同功能的外设。STC单片机和STM32单片机在国内应用都非常广泛,资料也非常多,入门需要的信息、资源、工具和软件等等都比较丰富。这两种芯片的这些特点和现实,决定了当前一个非常重要的现实:硬件研发工程师有必要全部掌握采用STC单片机和STM32单片机开发产品的技能。
普通单片机与STM32单片机中堆栈的区别
普通单片机启动时,不需要用bootloader将代码从ROM搬移到RAM。但是STM32单片机需要。
这里我们可以先看看单片机程序执行的过程,单片机执行分三个步骤:
取指令
分析指令
执行指令
根据PC的值从程序存储器读出指令,送到指令寄存器。然后分析执行执行。这样单片机就从内部程序存储器去代码指令,从RAM存取相关数据。

RAM取数的速度是远高于ROM的,但是普通单片机因为本身运行频率不高,所以从ROM取指令慢并不影响。
而STM32的CPU运行的频率高,远大于从ROM读写的速度。所以需要用bootloader将代码从ROM搬移到RAM。
使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。
其实堆栈就是单片机中的一些存储单元,这些存储单元被指定保存一些特殊信息,比如地址(保护断点)和数据(保护现场)。
如果非要给他加几个特点的话那就是:
这些存储单元中的内容都是程序执行过程中被中断打断时,事故现场的一些相关参数。如果不保存这些参数,单片机执行完中断函数后就无法回到主程序继续执行了。

这些存储单元的地址被记在了一个叫做堆栈指针(SP)的地方。
结合STM32的开发讲述堆栈
从上面的描述可以看得出来,在代码中是如何占用堆和栈的。可能很多人还是无法理解,这里再结合STM32的开发过程中与堆栈相关的内容来进行讲述。
对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取
边栏推荐
- Flink learning notes (XI) table API and SQL
- Hal library sets STM32 clock
- STM32 serial communication principle
- Schematic diagram and connection method of six pin self-locking switch
- Oracle数据库 SQL语句执行计划、语句跟踪与优化实例
- Equality judgment of long type
- Fundamentals of Electronic Technology (III)__ Logic gate symbols in Chapter 5
- 1922. Count Good Numbers
- QT qstring:: number apply base conversion
- Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 2 --blinker_ Hello_ WiFi (lighting technology - Mobile App control routine)
猜你喜欢
C language enumeration type

要选择那种语言为单片机编写程序呢

MySQL Data Definition Language DDL common commands
![[CSDN]C1训练题解析_第四部分_Web进阶](/img/ee/2e9756cc0e2e6eda83e1b2304c0bd6.png)
[CSDN]C1训练题解析_第四部分_Web进阶

What do software test engineers do? Pass the technology to test whether there are loopholes in the software program

IDEA远程断点调试jar包项目

How does the memory database give full play to the advantages of memory?

Analysis of the implementation principle of an open source markdown to rich text editor

Nr-prach:prach format and time-frequency domain

Leetcode daily question (2212. maximum points in an archery competition)
随机推荐
Directory and switching operation in file system
Call the contents of Excel cells opened at the same time - button line feed
Find all possible recipes from given supplies
【力扣刷题笔记(二)】特别技巧,模块突破,45道经典题目分类总结,在不断巩固中精进
[CSDN]C1训练题解析_第四部分_Web进阶
Development of electrical fire system
1300. sum of varied array closed to target
Convert IP address to int
Hal library sets STM32 clock
Please tell me how to set vscode
顺利毕业[3]-博客系统 更新中。。。
【22毕业季】我是毕业生yo~
Arduino handles JSON data, arduinojson assistant
Introduction to chromium embedded framework (CEF)
[male nanny style] teach you to open the first wechat applet
Vscode Arduino installation Library
Leetcode daily question (1856. maximum subarray min product)
Eight working modes of stm32gpio and chip naming rules
Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 1 -- establishment of engineering template -template
UCI and data multiplexing are transmitted on Pusch - Part I