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,熟悉结构体应用。

相关推荐
咸蛋-超人21 小时前
聊一聊 - STM32的堆和栈空间怎么分配
stm32·单片机·嵌入式硬件
raindrops.1 天前
STM32之LL库使用(二)
stm32·单片机·嵌入式硬件
日更嵌入式的打工仔1 天前
单片机基础知识:内狗外狗/软狗硬狗
笔记·单片机
v先v关v住v获v取1 天前
12米折叠式高空作业车工作臂设计9张cad+三维图+设计说明书
科技·单片机·51单片机
一条咸鱼_SaltyFish1 天前
[Day10] contract-management初期开发避坑指南:合同模块 DDD 架构规划的教训与调整
开发语言·经验分享·微服务·架构·bug·开源软件·ai编程
单片机系统设计1 天前
基于STM32的水质检测系统
网络·stm32·单片机·嵌入式硬件·毕业设计·水质检测
宝宝单机sop1 天前
系统架构设计师资源合集
经验分享
唔好理总之好犀利1 天前
FreeRTOS中断内使用taskENTER_CRITICAL()进入临界区
单片机·嵌入式硬件
csg11071 天前
PIC单片机入门实战(一):PIC16F1824/PIC12F1822,从振荡器与Timer1开始
单片机·嵌入式硬件·物联网