8位应广单片机与32位M0单片机开发差异总结

最近做一个项目,需要用到大的RAM和比较高速的ADC配合数据采集,应广单片机已经无能无力了。因此选用了普冉的030单片机。对于习惯使用应广单片机进行处理的人来说,突然转向M0操作,有电不适应,通过对比发现有不一样的地方。下面最做一个小的总结。其中M0使用的是HAL库。

总体感觉:就是应广开发是好比是原子操作,除了数据运算之外,所有的操作都围绕IO和寄存器在转,因此熟悉手册寄存器尤其重要。M0的开发好好比是分子操作,必须熟悉HAL结构体说明,所以的操作基本围绕结构体在转,因此熟悉结构体所表述的意思尤为重要。

1.应广单片机开发必须熟悉规格书和寄存器操作。M0单片机已经把寄存器封装成结构体和对应的意义了,熟悉外设功能和结构体就OK了

2.应广单片机基本所有操作都必须手搓,而M0单片机很多的功能都已经模块化了,只有配置相应的结构体就行了。

3.应广单片机数据运算能力有限,需要注意运算时间和关注数据溢出问题,M0单片机数据运算能力强,可以直接调库使用,虽然是32bit长度,但仍要关注数据溢出问题,因为数据长度变长了,数据溢出问题可能会更加隐秘。

4.应广单片机不用考虑回调函数问题,M0单片机可能涉及到回调函数,回调函数有个个好处就是使程序更加集中,方便查看和管理。

5.应广单片机仿真不是所见即所得,需要用到仿真器进行仿真,然后烧录芯片测试。而M0单片机是在芯片上调试,所见即所得,开发调试也非常方便。

6.应广单片机的代码量一般比较少,任何细节都需要精雕细琢,因此需要对手册非常熟悉,即配即用比较多。而M0单片机经过数据机构的封装之后,基本操作都是先配置,再启动。

7.应广单片机内部时钟简单,一般即配即用,而M0单片机时钟比较复杂和庞大,很多时候再配置参数之前一定要记得打开时钟开关,否则可能出现配置好,无法启动/或是启动无效的问题。

8.应广单片机的外设只能说是够用的样子,而M0单片机有很多外设可以使用,比如Tmr都有N个,而且每个TM都有各自的身手,可以组合使用,配合使用,比如DMA,很多时候配置好了就放在那边不用管了,等中断或是检测完成标记就可以了。

总之,一个是原子操作,一个是分子操作。一个要熟悉手册,要多配寄存器,调试功能;一个要熟悉功能,多改demo,熟悉结构体应用。

相关推荐
波力海苔夹心脆6752 小时前
C# 序列化与反序列化详解:System.Text.Json、Newtonsoft.Json、XmlSerializer 用法、特性选项与安全实践
经验分享·后端·c#·json·.net
国科安芯2 小时前
断电也隔离、听得真:ASL3159S 单通道 SPDT 模拟开关的“断电保护 + 音频保真“账
单片机·嵌入式硬件·安全·商业航天·抗辐射
自小吃多2 小时前
【Verilog/FPGA】存储器(数组)
嵌入式硬件·fpga开发
szxinmai主板定制专家2 小时前
RK3588+FPGA异构架构|高速数据采集+边缘AI落地应用全解析
人工智能·嵌入式硬件·fpga开发·架构·zynq
jianqiang.xue2 小时前
【CStackGUI 实战】深色主题终端:app.dark 默认深色 + 顶层命名样式表 + 运行时切换
单片机·嵌入式·cstackgui·c语言gui·可视化拖拽
M78佐菲2 小时前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习
M78佐菲2 小时前
ARM学习笔记(10)
linux·arm开发·笔记·嵌入式硬件·学习
小程序设计2 小时前
基于STM32的智慧厨房多参数安全监测与预警系统设计
stm32·嵌入式硬件·安全
新晨单片机设计3 小时前
S008C-基于STM32单片机无线抢答器【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·无线抢答器
我命由我123453 小时前
经纪人的职业定义
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法