开发板评测 | STM32 Nucleo-64开发板 + 串口通信
cathy -- 周四, 11/12/2020 - 14:43STM32 Nucleo-64开发板MCU的型号是STM32L053R8T6,下面来创建串口通信例程。
一、安装软件
这里安装官网的STM32CubeMX软件,软件地址:
STM32是STMicroelectronics(意法半导体)推出的一系列基于ARM Cortex-M内核的32位微控制器(MCU)产品。这些微控制器提供了广泛的产品系列,覆盖了多种不同的性能和功能需求,适用于各种应用领域,包括工业控制、汽车电子、消费类电子、医疗设备等。
STM32系列微控制器以其高性能、低功耗、丰富的外设接口和灵活的开发工具而闻名。它们通常具有丰富的存储器、多种通信接口(如UART、SPI、I2C、CAN等)、模拟数字转换器(ADC)、定时器、PWM输出等功能,以满足不同应用场景下的需求。
STM32微控制器通常使用标准的ARM Cortex-M内核,包括Cortex-M0、M0+、M3、M4和M7等,这些内核具有不同的性能和功耗特性,可根据具体应用的需求进行选择。此外,STM32系列还提供了多种封装和引脚配置,以满足不同尺寸和集成度的要求。
STMicroelectronics为STM32系列提供了丰富的开发工具和支持资源,包括基于ARM开发环境的集成开发环境(IDE)、调试器、评估板和参考设计等。这些工具和资源有助于开发人员快速开发和部署他们的应用,并提供了全面的技术支持和文档资料,帮助用户充分发挥STM32微控制器的性能和功能优势。
STM32 Nucleo-64开发板MCU的型号是STM32L053R8T6,下面来创建串口通信例程。
一、安装软件
这里安装官网的STM32CubeMX软件,软件地址:
在上一次Freescale DKKL46开发套件免费送的活动中,我们抽出了3名幸运儿并获得我们的开发套件,你是其中的一位吗?
不是?没关系,说不定这次的好运锦鲤就是你哦!
为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法预测乱飞现象。所以对栈的深入理解是非常重要的。
注:动画如果看不清楚可以电脑看更清晰。
啥是栈
先来看一段动画:
没有比这个更直观的啦,栈是一种受限的数据结构模型,其数据总是只能在顶部追加,利用一个指针进行索引,顶端叫栈顶,相对的一端底部称为栈底。栈是一种LIFO后入先出的数据结构。
栈就两种操作:
再进一步探讨:
首先将栈与堆分清,从看到这篇文章开始,我建议你不要把堆和栈连在一起叫,栈是栈,堆是堆,这是两回事,别混为一谈!(堆本文不深入讨论)
STM32有两个看门狗,独立看门狗和窗口看门狗。其实两者的功能是类似的,只是喂狗的限制时间不同。
窗口看门狗
窗口看门狗,之所以称为窗口,是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。
01、前言
STM32上hello world,说白了就是使用串口向PC上的上位机软件或者串口调试助手发送字符串。
串口的使用方法百度一下就能知道了,简单来说就是下面这样。
uint8_t buff[BUFF_SIZE];//定义一个缓存数组 HAL_UART_Receive_IT(&huart1, (uint8_t *)buff, BUFF_SIZE);//打开串口接收中断
串口中断打开之后,当接收到BUFF_SIZE个数据后就会进入
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart);
然后我们就可以在上面这个函数下操作收到的数据啦,简单方便快捷。当然实际操作一遍后大家就会发现,这个程序只能进入一次中断,之后就再也收不到数据了,这是因为HAL库在每次进入串口中断时都会把这个中断关闭,所以我们处理完数据之后,要重新打开中断。
SPI,全称为 Serial Peripheral Interface(串行外设接口),是一种用于短距离通信的同步串行通信接口,主要应用在嵌入式系统。
这是第二篇分享,《STM32学习笔记》之SPI通信常见问题分析。
SPI的应用场合很广,显示模组、时钟芯片、存储芯片、温度传感器等众多器件都有使用SPI接口通信。这些器件通常作为从设备,STM32作为主设备来控制它们。
STM32 SPI基础内容
绝大部分STM32芯片都有多个SPI外设,它可与外部SPI器件进行半双工/全双工同步串行通信。
1. SPI特性
2. 引脚描述
一款好的电子产品,都需要认真考虑电源管理的问题,电池供电的产品更应该注意低功耗的实现。
STM32电源介绍
每一块STM32芯片中都有一个电源控制器(PWR),不同系列的STM32有相似,也有差异。
1.电压
绝大部分STM32的电压要求介于 1.8 V 到 3.6 V 之间,嵌入式线性调压器用于提供内部 1.2 V 数字电源。
2.类型
STM32的电源通常分为三类:数字电源、模拟电源、备份电源。
数字电源:VDD也是其主电源,主要用于数字部分;
模拟电源:VDDA用于模拟部分的电源,比如ADC,这样可以单独滤波并屏蔽 PCB 上的噪声。
备份电源:VBAT用于备份区域的电源,比如RTC、备份SRAM等,一旦主电源断开,VBAT可以为这些区域提供电源。
单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us( )和毫秒级delay_ms( )。
1.普通延时法
(1)普通延时法1
这个比较简单,让单片机做一些无关紧要的工作来打发时间,经常用循环来实现,不过要做的比较精准还是要下一番功夫。下面的代码是在网上搜到的,经测试延时比较精准。
(2)普通延时法2
2.SysTick 定时器延时
现在大家都开始重视版权的问题了,相信有不少电子工程师都收到了Altium公司的律师函。
今天就来说说STM32固件版权的问题:
Q:STM32固件是否包含ST版权资料?
A:是。
Q:我是否能在非ST微处理器上使用STM32固件?
A:除非拥有特许证书许可,STM32固件只能配合ST微处理器使用。
本应用笔记说明了 STM32 微控制器自举程序中使用的 I2C 协议。它详细说明了每个支持的指令......