当你需要使用STM32某些功能,而51实现不了时, 那32自然不需要学

TMS单片机

这里也提一下TMS系列单片机,虽不算主流。由TI推出的8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合。虽然没 STM32那么优秀,也没MSP430那么张扬,但是TMS370C系列单片机提供了通过整合先进的外围功能模块及各种芯片的内存配置,具有高性价比的实 

987c71ce116d21ecff196b7b31ce7d44.png

时系统控制。同时采用高性能硅栅CMOS EPROM和EEPROM技术实现。低工作功耗CMOS技术,宽工作温度范围,噪声抑制,再加上高性能和丰富的片上外设功能,使TMS370C系列单片机 在汽车电子,工业电机控制,电脑,通信和消费类具有一定的应用

应用最多的器件:TMS370C256A

文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

STM32单片机

由ST厂商推出的STM32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。其基于专为要求高性能、低成 本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,同时具有一流的外设:1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等

在功耗和集成度方面也有不俗的表 现,当然和MSP430的功耗比起来是稍微逊色的一些,但这并不影响工程师们对它的热捧程度,由于其简单的结构和易用的工具再配合其强大的功能在行业中赫 赫有名…其强大的功能主要表现在:

183d6b0d9d72ca4f8afca77f2ab55ebf.png

特性:

1.内核:ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz,单周期乘法和硬件除法

2.存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器

3.时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4-16MHz的晶 振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振

4、调试模式:串行调试(SWD)和JTAG接口。最多高达112个的快速I/O端口、最多多达11个定时器、最多多达13个通信接口

使用最多的器件:STM32F103系列、STM32 L1系列、STM32W系列

精品推荐:工程师应该掌握的STM32单片机关键基础精华

为了学习单片机而去学习单片机的思路不对。

你问,如何系统地入门学习STM32?

108b44211690a6627ba9433965eea50d.png

本身就是一个错误的问题。

假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。

你要考虑的是, 我可以用STM32实现什么?

为什么使用STM32而不是8051?

是因为51的频率太低,无法满足计算需求?

是51的管脚太少,无法满足众多外设的IO?

是51的功耗太大,电池挺不住?

是51的功能太弱,而你要使用SPI、I2C、ADC、DMA?

是51的内存太小而你要存储的东西太多?

当你需要使用STM32某些功能,而51实现不了的时候, 那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。比如要用spi协议的网卡、要使用串口通信、要使用rtos等等。。。

触过51,那肯定有过直接写寄存器的经验。

STM32也是一样的,只不过32要你配置的寄存器比较多。现在在网上教程上能看到以下编写STM32的方式

直接操纵寄存器(麻烦)

使用ST公司的标准库(有些麻烦,易读)

使用ST公司的HAL库(不麻烦,有些不易读)

写一堆代码应该用的是标准库,我个人认为先学标准库还是好的。可以看标准库的.c文件。你看到后其实不难发现其实标准库就是把原本要写的寄存器给封装了,变成了通俗易读的语句。

以开启一个GPIO举例(标准库)

从上图可以看出你需要做的有

GPIO结构体初始化

开启你要操作GPIO对应的总线时钟

写出你要操作的是GPIO哪个引脚

写出这个GPIO的模式(输出/复用输出/输入/复用输入 详细的请在stm32fxxx_gpio.h中查看)

写出输出模式(推挽/开漏)

写出GPIO速度(低速,中速,快速,高速)

写出GPIO拉电阻(上拉/下拉/不拉)

初始化GPIO

这么一套流程下来,你这个GPIO就算开启完了。其他的比如DMA,SPI,I2C,USART,TIM等等都可以用这些方法来解决。

2b8df8bf42fadca58ae613d748c4c30a.png

在学习的时候搭配STM32的数据手册和中文(英文)参考手册,用这些来了解寄存器的某些位干什么用的,哪些总线上有哪些外设等等。数据手册和参考手册会把一些原理以及如何直接操纵寄存器的方法告诉你。(这些不用记,了解一下就行)。

等你基本上掌握标准库后,你会发现你每次做一些新玩意儿总要重复一些代码,比如刚才提及到的GPIO的操作。直接复制之前写过的还得改参数,万一写错了外设不工作。如果要移植很可能会遇到不兼容的状况。

这个时候就要用到HAL库了,ST公司开发了一个软件叫STM32CubeMx,这个软件让编写32不再麻烦(最起码不用重复劳动了)。

对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取

猜你喜欢

转载自blog.csdn.net/linlaoshi2009/article/details/125103063
今日推荐