一文领会学习arm32位单片机的开发思路

2019-05-13 08:54:57 来源:电子发烧友网
标签:

开篇之前,我想问大家一个问题,为什么要学习32位单片机

 

如果您上来问,如何系统地入门学习32位单片机?这本身或许是一个问题。

 

为了学arm32位单片机学习?

 

 

为什么这么说呢?假如你之前接触过51单片机,学过C语言,那么arm32单片机并不需要刻意去学习。到那个时候,你会考虑的问题是,我可以用arm32能实现什么。在51单片机无法满足项目设计的时候,或者是因为51单片机频率太低,管脚太少、无法满足外设IO,功耗太大,又或者是功能太少,而你恰好想使用SPI、I2C、ADC、DMA。

 

当你需要使用STM32某些功能,而51实现不了的时候, 那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。比如要用spi协议的网卡、要使用串口通信、要使用rtos等等。


学习arm32位单片机必经之路

 

 

现在,我们假定大家已经对单片机有一定的了解,如果没有的话,建议先把51单片机的基础学好。嗯,目前单片机市场上使用的基本是C语言,必须要掌握好。其次,就是要掌握好单片机案例的各种芯片使用,不管多么复杂的系统,单片机基本结构也分为“内核+外设”。控制外设的途径就是特殊功能寄存器。单片机外设不多,主要可分为三大块:中断系统、定时/计数器和串行接口。并把控制这些外设的特殊功能寄存器弄明白。

 

学习arm32跟学习51都是一样的,平时可以多查阅相关技术书籍、文档手册,以获取最基本的知识。ST官方在这方面做得很好了,推荐学习它的《STM32F103xxx参考手册》《STM32固件库使用手册》两个32位学习文档。

 

前者重点学习前几章内容,存储器和总线架构、电源控制、备份寄存器、复位和时钟控制,通用和复用功能I/O,中断和时间等等一定要花时间阅读,后面讲解具体的功能模块设计,在后续设计用到的时候,可以再自行查阅。后者则主要学习固件函数库的使用方法,主要为了简化编程,我们只需学会调用即可。比如文档和库规范中的命名规则,编码规则,固件架构和使用步骤,模块函数等。建议对GPIO库函数、中断部分库函数、复位和时钟设置的库函数要比较熟悉,因为平时经常会用到。

 

相信学习了解51单片机,掌握arm32单片机相关基础知识后,你就可以尝试自己开始动手做项目了。


给自己设定一个arm32学习计划

很多时候所谓“入门”,通常指你基本理解,并能掌握一些常用32单片机外设使用,而像真正了解掌握一款处理器,你最好还是要按照实际能力,根据自己情况规划一套学习方法。

 

有的人学习两周,就可以进行简单独立的arm32开发,有些人则需要1个月、2月甚至更长的时间,因人而异。建议你每天利用业余时间学习,不管时间是否充裕,给自己做一个arm32学习计划。

 

这里我列出一些不算建议的经验,以过往自己的学习心得,供大家参考下。

 

 

步骤一,学习安装arm32单片机开发套件,及相关开发工具KEIL。

 

步骤二,挑选部分32单片机例程,比如定时器,下载到开发板上,观察两个LED灯的闪烁情况。这部分的操作,参考课程配套的视频进行。实际上,以上两个步骤,是为了熟悉要使用的工具软件而已。属于找感觉的阶段。

 

步骤三,查阅单片机开发的学习文档,文档可以到ST官方,或者学习单片机开发板,都会有提供相应的资料。

 

步骤四,开始查看例程的编写,看看例程是如何写的,自己可否修改下例程,达到自己想要的效果呢?

 

步骤五,在裸机上测试、跑程序,或者移植到单片机平台上运行。比如:RT-Thread实时系统,是否需要试一下?恭喜你,至此,你已经可以自如进行独立的开发了。

 

最后一步,给自己一个目标(项目),把它实现出来!

 

提供的一个学习arm32开发的思路,仅供大家参考哦!上述列出的关键步骤,也是希望能帮助大家快速入门32位单片机。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
十种单片机电路的应用,你了解多少?

大家可以看到复位电路中电阻R1=10k时RST是高电平 ,而当R1=50时RST为低电平,很明显R1=10k时是错误的,单片机一直处在复位状态时根本无法工作。出现这样的原因是由于RST引脚内含三极管,即便在截止状态时也会有少量截止电流,当R取的非常大时,微弱的截止电流通过就产生了高电平。

工程师自己动手用32位MCU打造的3D打印机,飞一样的感觉?
工程师自己动手用32位MCU打造的3D打印机,飞一样的感觉?

32位平台是3D打印的未来。最新版本的marlin已经移植到了STM32板上了,工作一切正常,运行平稳,还有BLTouch。

两个大学生打造的四足机器猫,STM32、树莓派等核心硬件平台大公开
两个大学生打造的四足机器猫,STM32、树莓派等核心硬件平台大公开

SmallKat是伍斯特理工学院的两位学生(Keion Bisland和Xavier Little)在Kevin Harrington编写的框架代码下设计和制作的四足机器猫平台,它采用3D打印,是一种低成本、开源的16自由度运动平台。

什么是晶振,对于单片机来说它有什么重要作用?

晶振一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。

STM32未来规划曝光,六大发展方向助力其坐稳市占
STM32未来规划曝光,六大发展方向助力其坐稳市占

根据IHS 的数据统计显示,2018年,ST MCU(不含汽车和安全MCU)的全球出货量位居全球第二。其通用加汽车MCU在中国的出货量更是高居第一,领先于排名第二的的NXP。

更多资讯
可穿戴设备要玩出差异化,图形用户界面设计成为重要砝码?
可穿戴设备要玩出差异化,图形用户界面设计成为重要砝码?

芯片厂商将本属第三方的软件工具收入囊中,一方面让自己可以给客户提供更高的附加值,另一方面让竞争对手少了点称手工具和加分项,这种事在业内并不鲜见。去年7月意法半导体宣布收购TouchGFX就属其一。其后原TouchGFX中国公司独立出来成立新公司TouchELX(泰辑科技),现在其主要业务是为意法半导体的客户提供设计服务。

会自动收衣服的晾衣绳

本项目有两个传感器作为探测器,即雨量传感器和LDR。雨量传感器功能可以检测是否发生下雨。

定制一个自己的机械数字键盘吧,这位工程师把所有硬件细节都开源了
定制一个自己的机械数字键盘吧,这位工程师把所有硬件细节都开源了

[Mattia]将自己的作品命名为YamPAD,它是‘只是另外一个机械数字键盘’(Yet Another Mechanical numPAD)的简写。这个项目的一个主要目标是制作一个可供他人轻松复制和定制化的设计原型。

简化开发流程,英特尔发布 Clear Linux 开发者版本

英特尔近日发布了专为开发者打造的 Clear Linux 版本。Clear Linux 追求在英特尔®架构上具有最佳性能,为开发者提供实用工具及工作流程,从而加速软件开发工作的进行。

让边缘计算更加智能,Xnor发布AI2Go AI平台

Xnor.ai今天发布了AI2Go,这是一个为开发人员和制造商提供的平台,可以为设备上的人工智能优化预先构建的AI模型。