完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
9个回答
|
|
不止你有没有51的基础,有的话你在外围器件上就不用太费心
如果没有,把它当成一般的单片机来学,其实32位和8位没有本质区别,先学gpio,dma,uart等芯片基础,然后学习各种外设,接下来各种工业总线各种协议,最后上操作系统 |
|
|
|
云汉达人
答案转自:https://www.zhihu.com/question/30462185 你照着官方例程, 自己把程序敲上去观察结果, 有示波器最好不过了, 调通信的时候很好懂. 等能运行例程了, 你再改改程序的配置, 照着reference了解不同模式的不同作用, 很快就懂了 另外选择一本书《STM32库开发实战指南》 流水灯开始,当发现IO操作如此简单,简直不够玩嘛,这个时候去学习定时器,stm32定时器通过它给的库函数来设置,照着例程,学着做就行了。然后你学会精确定时了。配合你学的IO操作,对着开发板的电路和相应的芯片资料,试着驱动一个SEG管显示器,然后再结合定时器的精确定时,你就可以做一个精确的数字时钟了! 然后想再做一点高深的,学AD和DA转换,发现AD可以用来测量电压,太棒了,我的板子就是电压表,再也不用带着笨重的电压表了。然后DA可以产生特定的波形,用最简单的查表法,照着例程做,用示波器一测,成了。当然你有兴趣,做一个基于查表法的音乐播放器都可以,注意用GoldWave之类的软件解码出wav文件中的电平采样值,然后DA端口是不能直接驱动扬声器的,去查相应的运放电路,一般是LM386。 然后你想玩一点更牛掰的模块,神马蓝牙啊、wifi啊、NAND Flash啊,你就需要一点总线和时序的知识了,去翻阅嵌入式相关的书籍,虽然很无聊难受,但至少你要理解诸如PCI(用得不多)、I2C、RS232的接口和时序,后面两个非常常用,建议熟记,然后动手能力强了自己写一个时序库,方便重用。有了时序的知识,再猛啃芯片/模块的资料,就知道该怎么去扩展了。 再想玩大的,我的板子要同时运行多个模块,要足够强大,就可以试着学一学嵌入式操作系统了,搞个移植什么的了。 以上只是说了大体学习思路,如果你觉得有困难,学会查资料是很重要的,多用google,偶尔用百度,csdn上的代码一般比较好(但也不一定),一般来说官方的examples是相当好的学习资料,虽然注释都是英文,但是搞威廉希尔官方网站 的,不会点英文怎么行,不说查资料了,代码规范、变量命名总要英文吧。 个人觉得还是应该从简单的51开始,高级一点的板子都去调用库函数了,只有51是直接操作底层的寄存器,这样也有助于理解单片机的原理,至少定时器是怎么设定的,如何重装的,有哪些工作方式你要明白吧。然后开发模式也相对比较重要,推荐《时间触发嵌入式系统设计模式——基于8051》一书,不要觉得你学会了A模块和B模块就可以很简单地把AB同时写在板子上了,naive!然后你会发现好多教材一教接口的时候往往假定单片机只处理这一个模块而忽略了对别的模块的并行处理,不要再写delayms这样low逼的代码了啊。注意代码规范(我假定你没有写代码的经验),多看别人的代码,看别人代码是怎么命名的,一般嵌入式开发采用下划线式的命名,即Modulename_Action,如LED_display,I2C_Read(),I2C_Write()。要不然你今天写的代码,下个星期甚至明天就看不懂了。 任何开发板都是板子电路图+芯片数据手册(处理器结构、外设资源、库函数等)+官方/非官方example,这是学习方法论。等你境界更高了你会发现板子和板子之间只是性能、资源数量上的差别了,本质上没有什么不同。等你已经熟稔了,你觉得市面上的板子不能满足自己的开发需求了,就可以自己学着画接口,画PCB,投板(比较贵,一次100吧)来满足DIY私人订制需求了。 题主问难不难,我说不难,比起算法开发(这才是我的方向啊摔),嵌入式开发简单多了,当然要做深入理解嵌入式系统内核那还是有点难的。 |
|
|
|
建议拿本入门手册,板子的话,如果有钱就上那些带屏幕的STM32-DISCO。如果没钱,就上普通的nucleo。可以找一块Arduino的扩展板或者面包板一起来学习。
|
|
|
|
您們那好像都推薦正點原子吧...
可以參考最通用的STM32F103相關設計和範例 http://www.openedv.com/ https://shop62103354.world.taobao.com/ 再來官方的STM32的Nucleo開發板也是很適合入門,如果想簡單學習單片機的功能,推薦使用mbed 作作小項目後再來晉級以C語言為主的IDE,MDK或者IAR,這時候就要看的懂HAL庫來操作了 這樣循序漸進的方式不會很難.有恆心即可,入門的GPIO都明瞭以後才繼續學習後面的外設和通訊協定 以上供參考 |
|
|
|
云汉达人
板子上来说基本上都没什么大区别,就是看你需要多少外设了,学习的话可以看视频教程,刘凯的80集,或者正点原子的讲座也是很好的。有需要可以qq联系我:1102826879 |
|
|
|
买个资源丰富点的二手开发板,入门跟着例程学习,然后做1、2个小项目练练手,之后如果使用到其它的芯片做项目,直接参考官方提供的example,就能比较轻松地掌握单片机外设的使用。
|
|
|
|
比较简单,淘宝上买个开发板就可以学了
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
863 浏览 0 评论
1191 浏览 1 评论
2566 浏览 5 评论
2901 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2762 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1203浏览 3评论
214浏览 2评论
486浏览 2评论
399浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
482浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 12:06 , Processed in 1.161529 second(s), Total 95, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号