你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 969|回复: 5

【说出你的故事】一个入门者STM32学习经历

[复制链接]

76

主题

5715

回帖

4

蝴蝶豆

论坛元老

最后登录
2020-10-15
发表于 2016-1-29 13:40:03 | 显示全部楼层 |阅读模式
        和大多数单片机学习者一样,STC89C51是我接触的第一款单片机,也是到今天为止玩的最熟的一款单片机...之所以选择这款单片机作为入门的东西,是因为,对于初学者来说,个人认为,不必追逐别人眼中的起点高或者高大上,因为真的是这样,别人说嵌入式好,难道所有人都应该在没有任何C语言的基础上去学习嵌入式么...

        就像别人曾对我说过,如果你没有兴趣,请你马上停止学习嵌入式,那样因为你学不会,也学不好.选择51单片机,是为了试探你自己,是否真的能坐在那里一整天都在研究一个语法,一种现象,一套思路.其次,选择51单片机,可以让大多数没有这方面基础的学者由浅入深的来学习单片机,而不是上来就被那看似庞大的单片机体系所吓倒.在学习这款单片机的过程中,我学会了Keil4的安装和使用,学会了AltiumDesigner的安装和使用,也掌握了一些必要的电路知识...

        就这样,我踏上了和大多数单片机前辈的同一条路,慢慢的在单片机这条路上走了下来,知道学习一年半的51单片机以及其他一些STC系列如STC12C5A60S2等等基础上,我接触到了STM32....开发板是前辈画的,芯片用的是STM32F103C8T6,我记得很清楚。好像是用来测试一个3G功能的,不过对于我来说太远;我要来了3个,自己焊了一个最小系统,好在公司资源还是不错的,器件芯片有,还可以问问前辈--对公司还是比较满意的,虽然工资少了点,但学东西第一位O(∩_∩)O~。

        最开始当然是建工程了,这个真不太会,前前后后竟用了一周(时间真长,别见笑啊),上网查资料, 问前辈,自己琢磨。。。总算搞定,然后从GPIO开始学,开始还真没什么头绪(虽然在大学学点51,但完全没有真正应用,顶多是跑马灯实验),开始纠结是从寄存器开始学还是从库函数开始学,后来看到一句“用库函数入门,用寄存器提高”于是下定决心用库,但当时没有库的概念,结果走了很多弯路,看了很多不必要的东西,当时竟没理解到只是调用库就OK了,别的不用管。最后潜心看李想老师的教程看完一个例程后照猫画虎写了一个,经过了多次调试以后,灯终于亮了!那个兴奋啊。再次还要感谢李想,是他让我少走了很多弯路,接着学的EXTI,当时对中断的理解只是概念上的,也不知道中断程序要放在中断函数里(it.c),总之现在想想当时怎么那么不开窍啊。慢慢的中断也弄出来了,慢慢的有点感觉找到门了:先大致看一下要学习概要,找个例程,一个函数一个函数的看,重点理解配置的什么,参数,然后在头脑中形成一个大概的轮廓,虽然有时候不是特别清晰;接着学习TIMER(通用定时器),只是学习了最简单的溢出中断,其他捕获什么的都还没有看呢--想先对stm有个总体的学习,下一步准备每个模块细细“研读”。应用定时器溢出中断做了个闪灯小程序;接着顺便把学习过的GPIO,EXTI,TIMER混在一起做了一个优先级(NVIC)的程序,以来了解下优先级,二来对前面的学习是一个复习,虽然很简单,但没能一下子就调出来--其实每次都会在细节上出不少差错:时钟忘使能啦,GPIO没有配置全啦,名称写错啦(很低级,但这个有时候真的不好找),概念理解不对啦。。。。。。

        有时候憋的真是相当难受,但问题解决的那一刻真怎是一个“爽”字了得啊,当然前提是自己解决的;接下来学USART(串口),原来我也不知道有串口这么个东西,但弄单片机的要是不知道“串口”就好比开车的不知道轮胎一样了,开始完全没有概念,什么波特率啊,奇偶校验位啊,停止位啊,对着一堆名词看着都头大。慢慢的了解到串口是一种通讯传输方式,就和USB一样,只是串口比USB早出生好多年。这时候已经有点门了,看概念,抄例程,看函数,理解,根据自己的理解改参数,实现!学会了串口,以后就可以通过串口来观察数据了(我的实验板可是没有屏的);下一个是DMA,DMA可是个好东西,至于怎么好,百度一下,大家就知道了;下来ADC(模数转换),就是把模拟量转化成数字量,stm32之所以强大,ADC算一个重要条件,我只是简单了应用了一个测电压的功能(可以说是ADC的最简单功能了),用串口显示探针(自己焊上去的)所测到的电压值,主要卡在了两个地方:1忘记配置串口的GPIO(所以一定要注意细节,一个细节能憋我1天) 2对通道的理解不够,原以为通道自己找串口(现在发现自己挺天真的),实际是每个通道对应自己的GPIO口,或模块(如温度传感器),“一知半解”又让我卡了1天。解决这两个问题后,串口赫然出现数字啦,而且是探地是0,探电源是33xx(3.3V的),还真准呢啊,后来又学习I2C,SPI,CAN等各种通讯协议,I2C协议最坑爹,弄了很久没有弄出来,最后百度原来是STM32硬件I2C有BUG,使用时要有注意事项,最后用软件模拟也同样完成,就这么一路跌跌撞撞的走了过来。对于我来说STM32我不也说我非常精通了如指掌,但做项目还是没有问题的。

论坛里藏龙卧虎,高人辈出,在各位前辈面前我也只能算是初级入门者,还要向前辈学习,继续努力。。。


<
回复

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2016-1-29 13:54:48 | 显示全部楼层
这排版,把我吓住了。楼主稍微调调,分分段空空行,画画重点啥的,可好
回复 支持 反对

使用道具 举报

76

主题

5715

回帖

4

蝴蝶豆

论坛元老

最后登录
2020-10-15
 楼主| 发表于 2016-1-29 14:20:01 | 显示全部楼层
沐紫 发表于 2016-1-29 13:54
这排版,把我吓住了。楼主稍微调调,分分段空空行,画画重点啥的,可好

已经重新排版了。
回复 支持 反对

使用道具 举报

31

主题

1951

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-12-4
发表于 2016-1-29 14:57:20 | 显示全部楼层
必须赞一个   很励志哦   
回复 支持 反对

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2016-1-29 17:06:51 | 显示全部楼层

点赞!
回复 支持 反对

使用道具 举报

15

主题

571

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-12-3
发表于 2016-2-2 10:08:14 | 显示全部楼层
给特派员点个赞!
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版