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

stm32f4单片机学习心得(怎么知道一个外设怎么操作)  

[复制链接]
motianlun1111 发布时间:2015-7-13 13:39
本帖最后由 motianlun1111 于 2015-7-13 13:55 编辑

心得体会帖子,出于的目的,也许有些人和我一样不甘于看着某些厂家的死板的教程只是教你怎么做怎么做,想知道为什么,喜欢问为什么的,我这里一个也算是自己的心得总结,二个也算是因为自学走了弯路,也耽误过别人时间,把自己的收获的要贡献出来,三个也许有些人觉得很肤浅,但是还是希望能给一些人思考的启发。
      这里说说这个心得,一直好奇,为啥别人家的教程它就知道怎么去做,怎么去操作一些库函数,怎么顺序去做,我初学这个,乱撞不少路,也不满于那种机械填鸭式的教程,更希望获得作者解决问题的思路,无奈这种东西至少f4的我看的那家教程里面不透露,那我来点自己感受到的抛砖一下,大家初学者共同进步。
      这里给个教程截图   2.JPG

这是某教程给的串口操作的顺序,但是我看到这里时候第一反应就是为什么他们知道这么操作,还给总结了,要是一个新东西出来了,为啥人家就知道呢?显然教程里面没有解决我的这个问题,按照这个手把手下来确实能实现结果,但是有没有收获呢?在我的观念里面很小,至少我只是解决了这个串口的这种用法而已,而没有学会解决问题的办法,显然不是我要的
      那作者是怎么知道这么顺序操作呢,看下图
捕获.JPG
英文说明了操作过程,Enable peripheral clock using the following functions,就是教你操作标准时钟用下面的这些函数,还说了APB2和APB1对应的是操作不同的几个串口,也就是那几个不同的串口应该是挂在不同的总线上的,等等,慢慢往下都是步骤。
      这是官方的标准库里面的文件,串口的外设库函数,这个文件也是每个教程都会教你添加进自己工程里面的,但是只是限于让你添加他,不会提点这个文档里面的有意义的内容,也许很多初学者都是这样添加完这个就过去了,或者看看里面一些函数的参数入口而不看说明,甚至都不看内容的,显然这个说明就是说了这个串口操作怎么做,一步一步的,就是我们看到的中文的国内的教程里面卖家给的步骤,这就解了我上面的疑惑,为什么卖家知道这么操作,那我们知道了这点是不是以后遇到问题,比如can的外设,或者其他的,是不是自己也有解决思路了呢?甚至新的芯片,市面没有教程的呢?是不是也知道了一个基本的思路?我觉得这点很重要,个人观点勿喷。
       内心佩服有些大神说的,我从来没有看过谁家的教程,超级版主说的,我只看官方的固件库和历程就够了,我想这里,出开发板的人也不过是做了和超级版主一样的事,写了教程,但是他们却不教会你怎么利用官方的库,不交你怎么通过官方库自学,会了这些我觉得才是本质,不然都是浪费时间,我因为这个的吐槽还被一堆很肤浅的人喷,把一些填鸭式的教程吹捧的很高,还喷我伸手党,真的是很心寒。另外就如之前我问某家教程里面的system里面文件为什么会报错,人家说不用管,大神建议我学习的话只用官方的一些东西去学习,我觉得这样也很对,毕竟是学习,要掌握深成次原因,用别人二次开发好的便捷的东西只会更加拉远自己和本质的距离,再譬如一键下载电路,固然是好东西,但是这回让人模糊用串口下载怎么操作boot0和boot1的过程,甚至很多开发板上练得很好的人,给个板子都不会下程序,我没学这个芯片之前就遇到过很多这样的人,我做的硬件他连程序都不会下,点了软件说下不进去,呵呵,我的硬件又没有一键下载电路,在就一键下载电路,某家出教程的人也就说了各种他的好,但是却不说是怎么通过flymcu这个软件操作的一键下载电路,实现的一键下载,不说这个相结合的实现原理,以至于很多人就要死板的记住那个flymcu软件打开里面下拉第5个(打比方第5个),一定不要选错,我就呵呵了,这当真是我们该有的学习态度吗,喷我的人你们当真学的很成功吗?
       这里本人也受惠与一些大神,毕竟人家没义务却花时间解答我的疑惑了,这是恩惠,故也贡献一点自己收获的思路,供有和我一样感慨的初学者参考,也许不一定每个收获都会发出来,时间真的很紧,但是有时间了会尽量多发些,望也能引起其他的学习一个芯片要花很久甚至两年之久的人一些启发,一个芯片学习真要那么久吗?我觉得工具性的东西不该这么久。      我觉得有了这些思路再配上买家教程应该就能学的扎实,要是卖家教程能折射出这个思路,那就是能学的又扎实又快了,期待能在市面上看到这样的好教程(自己该还是咋学咋学,好教程必然视为珍宝,就像好书一样)


收藏 3 评论22 发布时间:2015-7-13 13:39

举报

22个回答
motianlun1111 回答时间:2015-8-28 01:28:10
112207301219 发表于 2015-8-27 19:59
深有同感,照着步骤一步一步来只是入门时候找一下感觉,真正能提高的还是读官方手册找到根本的东西。 ...

是的,我从发此贴到现在也有两个月光景了,中间7月尾声时候把f4的开发板卖了,原子正点的探索者f407开发板卖了,300多卖了感觉不适合自己,浪费,然后又买了一个f103的核心板,vct6的,呵呵,这个说说自己的过程,我一直习惯是看寄存器,然后对照库函数看,搞清楚库函数做了什么,但是原子的那个东西吧,我看起来好费劲,太慢了,总结下原因,就是库的好多写法自己不熟悉,不能做到一眼就知道这个是起到了什么作用,分析起来好费劲,二个思路很乱,根本不知道他的教程在干什么,跑程序跑通了有什么用呢?思路不知道,自己不会做事的,所以没有用,或者换句话说,他的东西适合给已经入门的人去参考用还差不多,呵呵,然后自己就又发现了刘凯的视频教程,说句时候,刘凯的视频,一开始的时候很好的,思路什么的很清晰明了,不过后面部分越来越不细致了,可能和录制的后期耐心也有关系,不过总的来说他的作用及其的大,他给你引导了一个学习使用手册去查询你需要的信息的套路和思路,思路的养成太重要的了,后面的教程虽然很多其实讲的代码都是有问题的,但是他的思路是很好的,也是基于这点,我8月初学他的视频,他用的是2.0的库(为了防止有些喷子喷我是那种伸手党,拉不下屎嫌弃地球没引力的人,只要我说原子的教程不好,就会有这些人出来喷我)我说说我现在一个月不到的结果,实际也就20来天,我使用的是3.5的库,我使用的是vct6的核心板,和刘凯的好像有点出入,但是至少库肯定是不一样,我看库,第一次看的怎么也琢磨一下它对寄存器干啥了,在我的代码里面其实很多是库和寄存器直接操作柔和在一起的,现在stm32没有熟悉全部的功能还,但是熟悉的那些功能,已经确确实实的可以干些活了,比如实际的操作就是自己写了个硬件iic驱动mpu6050的dmp,完全的可以按照自己的需求来操作,不只是简简单单的读个数这么操作(说硬件iic有bug的人是没耐心的人,while会有死在里面的可能的人是自己代码写的不好,不该埋怨st,至少我的硬件iic现在跑了很多东西,很正常可靠,不可能死在while里面,当然和网上的那些硬件iic代码是肯定不一样的了),至于还干了些啥呢,我也说不明白了,反正操作陀螺加计,数据融合,输出很稳定的四元数和欧拉角,这些事吧,感受就是这样很爽啊,活学活用,会了一些就能实实在在干些事了,而不是所有的例子都照着人家代码敲了一遍,还是懵懵懂懂的好,呵呵,现在我感觉已经可以脱开别人的视频了(刘凯的视频我还没看完)自己要用到啥外设,上数据手册里面去找,看st对他对应的外设的描述,你做相应的一些操作就是了,思路一旦清晰,啥都会快起来的,这就是我这20来天的收获,不过一开始的时候真的是刘凯的视频我看完的那些的每个例子我都耐心的用3.5的库加寄存器,自己搭一些线路实现了,比如操作eeprom,我都是拿核心板插线连着一个51开发板上的eeprom,来实现了,虽然一开始感觉很缓慢,很难受,但是基础打扎实后面都会快,关键就是基础,思路,分析问题的方法,学到这些就会很快了,希望给一些有一样感受的人一些帮助
112207301219 回答时间:2015-8-27 19:59:49
深有同感,照着步骤一步一步来只是入门时候找一下感觉,真正能提高的还是读官方手册找到根本的东西。
moyanming2013 回答时间:2015-7-13 18:13:50
赞同楼主。
我把买第三方板子视为“上当”!淘宝低端卖家之流。最初买的板子基本上过几次电就搁置不用了,各种烂。
周立功那样的还可以(尽管也是指定要选择第5个,之所以为什么,我们就呵呵了),起码有技术支持,还能够支撑你完成项目到上市。
但也不能太过于卸磨杀驴,有些板子卖家提供了一个上手的过程。但好学者不止于此,比如lz。骂lz的我想都不怎么样,或至少还没有理解楼主的意思,不属于同一个层次的,他弱就欲弱吧。
很快你就会发现这些卖板子的资料都无法把一个问题彻底说清楚(不要说选择第5个就是说清楚),然后还是会回归本源,买官方的板子看官方的资料。这才是正途。
那问题来了,为什么官方的资料就那么难入手呢?!这才是新手为什么会购买第三方的原因,第三方有个入手的步骤!缺就缺这个!
我一直有个想法,使用官方的一个或若干个板子,搞个彻底的入手手册,彻底把新手引入正途。
这就跟arduino似的,官方自己出所有东西,让其它人无路可走。谁会卖第三方arduino板子和资料呢?!
shanji 回答时间:2015-7-13 14:09:10
我顶,给你32个赞。学STM32,真的不是看那些所谓的教程学会的,官方的资料就是最好的教程,稍微有点单片机基础和编程思维的人,都可以不要那些所谓的“教程”。
风子 回答时间:2015-7-13 14:10:38
顶,给楼主点赞
苏柚 回答时间:2015-7-13 15:07:56
赞  楼主说的很对
creep 回答时间:2015-7-13 15:22:34
“摩天轮” 同学加油,期待分享更多的学习心得!
jiaswang 回答时间:2015-7-13 15:48:22
不错不错!是这个意思
最美最美 回答时间:2015-7-13 16:12:34
I want you
JackieLaura 回答时间:2015-7-13 16:36:01
讲的很不错。。
JackieLaura 回答时间:2015-7-13 16:54:29
我刚查了下F0、F3、F4系列的标准库和HAL库都有教你怎么使用的方法,F1的库没有这些信息,估计F1推出的时间比较早吧。。
123下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

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