st32编程教程,stm32f103c8t6编程教程

交换机 35 0
  1. 会51单片机,如何快速学习使用STM32单片机?
  2. 如何自学stm32?

会51单片机,如何快速学习使用STM32单片机?

谢谢邀请,我是大学读的电子信息工程,最开始也是学习的51单片机,用51单片机做过几个小实验,毕业后,工作需要,做过半年AVR,然后又因为项目需要,就转到stm32单片机了,当时学习STM32是自学摸索,所以在学习STM32,我有自己的看法。

STM32的固件库,除了启动文件.S

文件,其他的底层,其实是使用寄存器地址,映射到相关的位置,然后使用结构定义,用指针替代,最后形成对应的寄存器,比如GPIOE->ODR,固件库再以此进行操作寄存器操作,封装成函数,并将相同外设的多个函数放到相同的.c的文件中.

st32编程教程,stm32f103c8t6编程教程-第1张图片-淮南编程学习网
图片来源网络,侵删)

总结固件库用法,主要是对结构体的变量进行赋值,将赋值好的结构进行初始化函数运算.调用各类合适的函数.并在此基础上,完成自己需要的代码功能处理

对于自学者来说,尤其是从51单片机转过来的自学者来说,习惯了51单片机操作寄存器配置,学习stm32固件库是比较不习惯和困难的,尤其是对于C语言的指针和结构体理解不够透彻的同学,更有难度。

stm32有自己的硬件固件库。通过调用它的API就可以方便的控制芯片所有的硬件***。

st32编程教程,stm32f103c8t6编程教程-第2张图片-淮南编程学习网
(图片来源网络,侵删)

用起来比51其实更容易入手。

找本关于固件库的书籍或者看看它的说明书就可以很快的入门了。

最好是买本书吧,信息更全面一些。书籍上有部分不太详细的,可以根据书籍上的信息百度一下了解更详细的讲解。

st32编程教程,stm32f103c8t6编程教程-第3张图片-淮南编程学习网
(图片来源网络,侵删)

祝你好运。你会发现stm32比51性能更强大反而更好操作。


如果想要“快速”

1.得有一个开发板,推荐正点原子,硬石科技,或者野火的(基本是例程+教程+视频+开发环境+各种实用工具,正点原子还有相关社区论坛)

2.stm32型号很多,入门推荐学习stm32f103系列

3.stm32也有很多开发方式,标准固件库,或者HAL库。推荐HAL库+cubemx自动化生成,可以快速入门,降低学习难度增强学习信心

不建议学stm32,官方的固件库和集成开发环境影响开发者的认知,不能完全了解它是如何运行如何编译等等。学习arm裸板你会知道cpu的运行机制以及它程序的编译、运行过程,对学习操作系统有很大的助力。

单片机其实都是相通的,会了一种单片机,对着数据手册查看一下寄存器的设置可以快速的入手其他型号的单片机。会51单片机,说明有单片机的基础,再去学习STM32单片机会很快。由于51单片机的端口都是准双向口并且寄存器相对较简单,而STM32作为32的单片机,片上***更多、寄存器也相对复杂。建议从以下几个方面入手。

1

选择一块单片机型号较广泛的STM32单片机开发板

学习单片机,其实就是学习单片机相关电路设计、以及单片机程序的编写,而51单片机和STM32单片机的电路设计基本类似,主要取决于需求和功能,而与单片机本身关系不大,STM32单片机和51单片机开发板的硬件电路基本类似、重合性较大。单片机开发板集成了常用的外设电路,方便了初学者学习,所以入手一块开发板是学习单片机的当务之急。

2

从基本的片上***开始学习

STM32基本的单片机***包括:普通GPIO的配置、定时器应用、中断的应用、AD***样的配置等。这些功能51单片机也有,既然会51单片机,那么学习起来很容易。在学习的过程中,要学习STM32单片机的寄存器是如何配置的,或者学习库函数的使用、调用方法

3

学习相对高级的片上***

这里所讲的高级***是针对51单片机而言的,如UART、IIC、SPI、SDIO、FSMC、RTC、PWM、看门狗等。这一部分的学习,主要学习这些***的工作原理、基本硬件电路的设计、寄存器的配置方法或者是库函数的使用方法等。根据单片机开发板所提供的例程学习,并基于开发板提出自己的需求去实现

4

多参与项目

学习单片机的目的是为了做产品,而学习和做产品是迥然不同的,要多参与项目、多动手,在项目中积累经验。

以上就是这个问题的回答,感谢留言、评论、转发。更多电子设计、硬件设计、单片机等内容请关注本头条号:玩转嵌入式。感谢大家。

如何自学stm32?

首先你要有一个开发板,如果你是刚入门单片机领域的,建议从***开始学习。书籍方面最起码要有一本 C 语言书籍,方便查阅 C 语言知识点。

刚开始学习的时候注意以***为主,反复看都看不懂的知识点可以看书,还是不懂的话就要上网搜寻答案了(当然如果身边有前辈的话也可以请教,这是最好、最直接的方式)。多方面结合学习[_a***_]更好。

说说我的学习经历吧。我是大一的时候在实验室接触到单片机的,目前已经毕业了,学习时间也不短了。一直以来在别人学习各种编程语言的时候,我都始终坚持只学 C 语言,只用 C 语言,虽然后期为了更好的理解 C 语言学了点汇编知识,但也只是皮毛罢了,所以我最擅长的还是 C 语言。

C 语言学习最重要的是多练,多看。多练就是需要通过一些小的项目去运用你所学的知识,这样你才能更深刻的理解。而对于 C 语言语法问题,这种是最简单和基础的错误,既不要太重视也别轻视,平常心对待就行了,因为你写的语法错误会有编译器帮你检查出来的,一旦出现警告和错误,一定要看输出信息,通过信息来判读你的错误原因。一定要注意看懂英文,理解它表达的中文意思,别说自己英文水平太烂,看不懂,多看几次,多用Google翻译一下就记住了,熟能生巧。如果说你知道了表达的错误意思,但还是不知道怎么解决问题,那么就把这条出错信息复制一下,然后粘贴到网上搜一下就知道了,你要知道,你碰到的绝大多数问题别人都可能碰到过,也可能解决了。所以要充分利用网上的***学习。多看,就是要多看别人的代码,这样才能发现自己不足的地方,并且可以学习别人优秀的地方。STM32学习中库函数会是很好的学习***,这个代码写的非常规范,如果感兴趣的话可以多看看库函数的实现,这对你的 C 语言学习会有非常大的帮助。

然后是单片机的学习,单片机软件开发基本上都是基于 C 语言的,所以你的 C 语言基础一定要扎实,这样你的单片机学习之路才能走的更顺畅。单片机学习无非就是各个模块的使用,所以学习的过程就是按照***教程一个模块一个模块的学习,虽然辛苦,但你会发现自己每天都在进步,会有很大的成就感,这种成就感不是课堂学习能比的。

到此,以上就是小编对于st32编程教程的问题就介绍到这了,希望介绍关于st32编程教程的2点解答对大家有用

标签: 单片机 学习 STM32

上一个少儿编程烟花绽放(烟花编程师是干嘛的)

下一个当前已是最新一个了