学stm32主要是需要C语言基础知识,和单片机基础知识。
stm32(中文名:嵌入式单片机)是意法半导体集团开发的一个系列的微控制器。其是专为要求高性能、低成本、低功耗的嵌入式应用而设计的。按内核架构分为不同产品:主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。
STM32的优点在于官方已经封装好了大多数基础的寄存器等数据,不需要逐一找地址。各种功能的使用只需调用相应函数即可。
学stm32的步骤:
步骤一,安装完STM32学习的软件,比如J-Link、Keil for ARM(MDK)、ISP(如果需要从串口下载的话);
步骤二,挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到芯达STM32开发板中,观察两个LED灯的闪烁情况;
步骤三,准备几个常用的文档,比如《STM32的用户手册》,《STM32固件库使用手册》等文档,用于平时查阅;
步骤四,开始查看例程的编写;
步骤五,Ucos-II的移植。
学习STM32小技巧:
技巧1:AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中21,意思是APB2接高速设备;
技巧2:Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用;
技巧3:HSE Osc(High Speed External Oscillator)高速外部晶振,一般为8MHz,HSI RC(High Speed InternalRC)高速内部RC,8MHz。
没有,课程里面不会专门设置相应的课程。
不过,你可以通过加入兴趣小组,报名电赛或者申请泡实验室等途径,获取学校提供的学习资源和实验资源,在此基础上自学(还可以向实验室老师或者学长求教)。
我的一些体会:\x0d\x0a\x0d\x0a首先,关于STM32入门,这个可能需要的是指导教程和技术论文。说实话STM32并不难,因为你可以把它当做单片机来用,至少不会让你觉得入门很难的,具体的,你可以买个开发板,现在开发板市场上多的是,买个口碑好的,然后根据例程,再找个论坛或专题站就完全可以解决。\x0d\x0a\x0d\x0a其次,具体一点话,要学习STM32,第一步可能要理解系统时钟,因为不管你要用到任何片内外设或者是IO口什么的,首先第一步就是要初始化时钟.至于内部寄存器,说实话,确实很多,不过你用到某一块,在看那一块的寄存器,这样更有针对性.\x0d\x0a\x0d\x0a总的思路:时钟, == GPIO, == 定时器, == 》 usart模块,这样在熟悉这些基础上,慢慢添加或开发其他模块的操作 , 至于资料, 芯片手册,和STM32官方提供的固件库使用手册就OK了.\x0d\x0a\x0d\x0a固件库呢,就是给你提供了函数,然后你就不用去研究它的寄存器了,通过那些函数就可以直接对STM32进行操作了,但是工作效率嘛,肯定是偏低了,不过刚学的时候可以参考一下,通过固件库函数来对STM32进行理解.
没有!也不会这样。
一般学校教学:肯定是学51单片机为基础,深入一般的选择是ARM芯片,当前一般是ARM9,比如S3C2410芯片。
学校要教给你的是对整个嵌入式以及单片机领域的知识概念,而不是某一款!51系列和ARM确实是合适的!
STM32的特点是有大量的官方封装函数,把底层地址大多已经封装好了,很少直接与地址和寄存器位置打交道,大大增加了配置的便捷性。但同样学校的教学过程正是教授给同学们关于对单片机的底层地址和寄存器的操作和原理,用STM32显然是不合适的!
本文标签:大学里学stm32单片机