学习STM32心得体会 您所在的位置:网站首页 自动控制课程的心得体会 学习STM32心得体会

学习STM32心得体会

2023-07-10 11:07| 来源: 网络整理| 查看: 265

20210320040物联网应用技术二班王国培

当我开始学习51单片机的时候,我对这个领域一无所知。但是通过不断地学习和实践,我逐渐理解了51单片机的原理和应用。在这个过程中,我积累了一些心得和体会。首先,我发现学习51单片机需要坚持不懈的努力。

 

490386b79b7a41a28e586b0c66a5e84e.PNG

 

这个领域的知识非常广泛,从基础的原理到具体的应用,都需要深入学习和理解。刚开始接触时,我感到有些吃力,但是只要不放弃,坚持学习,就会慢慢掌握其中的知识。其次,实践是学习的关键。单纯的理论学习是远远不够的,需要通过实际操作来巩固所学的知识。我购买了一块开发板,并根据教程进行了一系列的实验,如LED闪烁、按键控制等。通过实践,我更加深入地了解了51单片机的工作原理和编程方法。

8b0e5e9fb9ce418097b570accfc79fd3.jpg

此外,坚持思考和解决问题的能力也是很重要的。在学习的过程中,我遇到了很多问题和困惑。有时候代码出错,有时候硬件连接有问题。但是我学会了通过查阅资料、请教他人和自己思考来解决这些问题。这个过程不仅帮助我解决了具体的问题,还培养了我的解决问题的能力。

d4efd656790945e689cd2d5572c2fd6e.jpg

最后,我认识到持续学习和保持更新是必要的。51单片机是一个不断发展的领域,新的技术和应用层出不穷。为了跟上这个领域的最新动态,我要保持学习的习惯,关注相关的资讯和技术论坛,不断更新自己的知识储备。

56d51a11deaa45bdb03694cf70506830.PNG

总之,学习51单片机是一项有挑战性但也非常有趣的过程。通过不断的学习和实践,我逐渐掌握了这个领域的基本技能,并且获得了很多宝贵的经验和体会。我相信,只要持之以恒,不断努力,我会在这个领域取得更大的成就。自以为学的芯片越多就越厉害 =_=、 其实,学习嵌入式重要的是整体的工程思想和项目经验积累,说到底这些芯片,我感觉学习起来都差不多吧,无非就是对内资源(寄存器、中断、定时器、串口等等),和对各种外设的操作而已,挂载的外设越多,系统会越复杂,这时可能会用上操作系统,同时,如果工程中涉及到各种算法、自动控制、采样、滤波等实际问题的时候,不仅会上操作系统,而且还对数学、物理、电路等方面知识要有较强的功底,对编程的能力的要求会更高,此时就要求对STM32的各种资源有比较明晰的了解了。回到问题,题主问:如何系统的学习建议:1、要动手实践,要动手实践,要动手实践!下面有位答主也提到了,工科类的东西光看是不够的!算法如何实现,自己独立设计再动手去敲一敲就知道了;外设如何驱动,找到芯片手册,照着时序图自己敲一遍;涉及到操作系统部分的内存管理与进程调用,找到源码仔仔细细研读几遍(自己应该写不出吧 =_=),相信你一定会很有收获的,可能我这个方法比较笨,但是确实挺实用的,个人觉得。  2、准备好资料与开发板相信很多人都有这样的意识吧,学一款芯片首先想到的是买一块开发板,对的,没错!巧妇难为无米之炊嘛,这里推荐两本书《C和指针》、《Cortex-M3权威指南》和《STM32库开发实战指南》网上都有PDF版本,结合自己的开发板配套的视频教程(某火的讲的就不错,需要的话私信发给你),先要理解透彻,然后自己独立去敲一敲,触类旁通,例子上给出的都不会很难,知识的拓展很重要,就是举一反三。  还有,不懂得话就多去各大论坛大神虚心请教,论坛里有很多经验帖子值得学习。  3、库开发与寄存器开发?现在STM32入门门槛都不高,稍微有点C语言和单片机基础的都能学,有人说:寄存器操作那么复杂难懂,那一堆寄存器名字都记不住,,,那寄存器开发是不是就不重要了?显然不是,我会说大牛与菜鸟的却别就在这儿?尽管我也很菜。。。  建议:库开发为主,看寄存器是为了理解实现的原理,所以寄存器部分不能丢了。有余力可以深入学习下,这对M3内核的理解很有帮助,以及后面ARM系列芯片的学习都很有帮助。  4、多做东西。在实际工程项目中去锻炼能力题主才大一,若对这一块感兴趣的话,可要把51单片机的知识深入透彻地学扎实哟,这是基本功。  尽量争取加入实验室,跟着学校实验室的老师、学长,学姐,并积极参加校内外组织的各种比赛,如电赛、全国STM32大赛,飞思卡尔智能车,四旋翼等等。一开始不懂没关系,只要他们不嫌弃你,积极好学、不要怕苦!(在实验室里要谦虚、好学、低调啊,切勿装逼!否则被打脸是很惨的,别问我怎么知道的 =_=........),有条件的话,可以组建团体去接外面的项目,当然要经过老师同意,或者代做毕业设计也是条财路 【 手动斜眼】  5、勤总结,有整体思想。形成自己的总结文档、代码风格可能很多人都没有这个习惯,包括当初本人自己,拿到一个课题或者项目的时候,大概写一下流程,就开干,途中遇到很多问题,程序改了又改,从v1.0改到v10.0都还有BUG,,,究根到底,还是自己学得不够透彻不够扎实,没有一个整体的概念,知识零散杂乱,不成体系。有时候,程序框架、流程都没有错,就因为时钟PLL配置上的冲突,导致一个礼拜BUG找不出来,,,所以,形成良好的编程习惯、勤写注释、善于总结真的很重要!最好能形成文档,这绝对是最好的经验积累形式!081bce13a1e74504a9852710764d2478.PNG

好的,以下是一份使用C语言编写的51单片机呼吸灯代码:

```c #include

sbit LED = P1^0;  // 将LED连接到P1口的第0位

void delay(unsigned int time) {     unsigned int i, j;     for(i = 0; i < time; i++)         for(j = 0; j < 125; j++);  // 延时函数 }

void main() {     while(1) {         unsigned int i;         for(i = 0; i < 1000; i++) {             LED = 1;  // LED点亮             delay(i);             LED = 0;  // LED熄灭             delay(1000-i);         }     } } ```

这段代码实现了呼吸灯效果,即逐渐增加和减小LED亮度的循环。你可以将LED连接到P1口的第0位,或者根据你的实际情况修改代码中的引脚定义。希望这对你有帮助!如果你还有其他问题,请随时提问。

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有