STM32 学习汇总
石破天开
迎着朝阳起床吧
展开
-
stm32f401RET6 时钟配置
使用STM32F401时需注意:stm32f401的系统库文件配置的晶振频率为25MHz,在外部使用8MHz的晶振是需对其进行修改,修改内容如下:1、修改stm32f4xx.h中的HSE_VALUE的值将 #define HSE_VALUE ((uint32_t)25000000) 修改为#define HSE_VALUE ((uint32_t)8000000)2...原创 2020-04-11 22:00:17 · 2401 阅读 · 0 评论 -
STM32F103的FreeRTOS学习笔记一、代码移植
良好的开端从一份笔记开始。1、首先从官网下载关于FreeRTOS的源码https://sourceforge.net/projects/freertos/files/latest/download?source=files2、下载完,进行安装,安装结束得到如下目录的文件我们需要的是FreeRTOS这个目录的文件,对于-Plus大家可以自行尝试。3、进入FreeRTOS目录,里...原创 2019-07-23 15:12:48 · 948 阅读 · 0 评论 -
STM32学习笔记五、RST复位
1、STM32硬复位STM32片内已经有复位电路了,可以不外接复位电路。复位引脚一般不宜悬空,所以STM32在NRST引脚内接了一个上拉电阻,典型值为40K,为了防止外部干扰,STM32数据手册上建议外接一个对地电容;如果用户认为内部上拉电阻太弱,则可以自己再接一个上拉电阻。因此众多“开发板”上的阻容电路,并不单单是为了复位才存在的。产品里,电容绝对有必要。...原创 2019-07-23 13:22:43 · 20183 阅读 · 2 评论 -
STM32学习笔记四、BOOT0和BOOT1
STM32三种启动模式对于存储介质均是芯片内置的,它们是:1)、用户闪存 = 芯片内置的FLASH2)、SRAM = 芯片内置的RAM区,就是内存3)、系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序,这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区,在每个STM32的芯片上都有两个管脚BOOT0...原创 2019-07-23 11:18:29 · 3179 阅读 · 0 评论 -
STM32学习笔记三、时钟
1、STM32F103VBT6使用16M晶振、12M晶振和8M晶振RCC设置有何不同?原来使用8M晶振,设置如下,通讯发送数据正常。RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLL的输入时钟= HSE时钟频率; PLLCLK = 8MHz * 9 = 72MHz 9倍频现在改成16M的晶振,设置改成下面,通讯发送数据...原创 2019-07-23 10:44:09 · 1310 阅读 · 0 评论 -
学习笔记三、I2C总线传输协议
简介:I2C(Inter-integrated Circuit)总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口。它是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据,在CPU与被控IC之间,IC与IC之间进行双向传送,高速IIC一般可达400Kbps以上。I2C可以支持多个Slave设备,允许有多个master,并且每个master都可以与所有的slave通信...原创 2018-12-09 22:36:54 · 1154 阅读 · 0 评论 -
STM32学习笔记一、 IO模拟串行通讯
代码下载链接:https://pan.baidu.com/s/1z20bMTxe5hEfb67hYHhwHg提取码:9ahu文档下载链接:https://download.csdn.net/download/u012166958/10834815首先对UART数据波形进行分析:本文通过对一步串行数据格式的分析,阐述通过波形分析方法调试UART收发原理和方法。经常遇到初学...原创 2018-12-07 13:58:41 · 1840 阅读 · 2 评论 -
STM32学习笔记二、DS18B20单总线上挂载多路采集
DS18B20中文资料手册及程序代码下载链接:链接:https://pan.baidu.com/s/1c_POj04yqatXVwzM_zarGw 提取码:2q3aDS18B20单总线上多路采集的关键在于读取ROM指令,通过ROM指令读取指定的DS18B20温度。64 位(激)光刻只读存储器每只DS18B20 都有一个唯一存储在ROM 中的64 位编码。...原创 2018-12-07 12:59:06 · 6691 阅读 · 13 评论 -
STM32 常见的下载方法
一、使用串口下载程序串口下载程序的操作步骤如下:1)连接电源线,连接好串口线2)在断电的状况下将BOOT0连接电源(3.3V)配置为高电平原因:STM32 的启动区域可以通过BOOT0 和BOOT1 两个引脚进行设置,各种设置方式所对应的启动区域如表1.1 所示。使用串口下载需要单片机内有相应的程序的支持,而系统存储器中就放了这么一段程序,由ST 在生产线上写入,用于通过可用的串行接口对闪存存储器...原创 2018-05-31 10:48:27 · 43417 阅读 · 1 评论 -
STM32 BOOT0与BOOT1 的应用原理
很多网友在用 keil 下载 程序时,明明下载线连接正常,偏偏程序就是无法下载,还提示芯片未连接。此时可能出错的原因就在BOOT0上。首先对BOOT0与BOOT1如何连接及连接方式介绍一下。STM32 单片机的BOOT0 和BOOT1 应用原理STM32 三种启动模式对应的存储介质均是芯片内置的,它们是:1)主闪存存储器= 芯片内置的Flash。这也是正常工作模式2)SRAM = 芯片内置的RAM...原创 2018-05-31 10:19:21 · 36361 阅读 · 1 评论 -
关于STM32 使用sprintf 死机问题!
在使用 sprintf 函数时遇到的造成死机的两种原因:1、 指针未声明内存char *p;sprintf(p,"%d,%d,%f",1,1,2.1);解决方法:对指针申请内存,或定义成数组类型。2、打印float/double 类型数据。解决方法:修改为int类型打印。有网友说栈空间不足造成的死机,本人测试后以上两种死机原因均为改善。启动文件中 Heap_Size 为 0x00000200修改...原创 2018-05-29 14:49:24 · 7974 阅读 · 5 评论 -
STM32启动文件详解
在<<STM32不完全手册里面>>,用的是STM32F103RBT6,所有的例程都采用了一个叫STM32F10x.s的启动文件,里面定义了STM32的堆栈大小以及各种中断的名字及入口函数名称,还有启动相关的汇编代码。STM32F10x.s是MDK提供的启动代码,从其里面的内容看来,它只定义了3个串口,4个定时器。实际上STM32的系列产品有5个串口的型号,也只有有2个串口的...转载 2018-05-29 14:36:27 · 344 阅读 · 0 评论 -
STM32 芯片系列 宏定义与启动文件选择说明
其中,ld.s适用于小容量 产品;md.s适用于中等容量产品;hd适用于大容量产品;1、小容量产品:STM32F10X_LD,USE_STDPERIPH_DRIVER C4/C6 R4/R6 T4/T62、中等容量产品:STM32F10X_MD,USE_STDPERIPH_DRIVER C8/CB R8/RB T8/TB V8/VB Z8/ZB3、 大容量产品:STM32F10...原创 2018-05-29 14:35:04 · 3799 阅读 · 0 评论 -
STM32 系列命名规则
一、STM32系列命名规则STM32 F 103 C 6 T 7 xxx 1 2 3 4 5 6 7 8 第1部分:产品系列名,固定为STM32 第2部分:产品类型;F表示这是Flash产品,目前没有其它选项 第3部分:产品子系列;103表示增强型产品,101表示基本型产品105表示集成一个全速USB 2.0 Host/Device/OTG接口和两个具有先进过滤功能的CAN2....转载 2018-05-29 14:28:41 · 2357 阅读 · 0 评论 -
关于STM32的DMA整理的全局函数 HAL_DMA.c介绍 (4)
/** * @brief 串口DMA发送方式初始化 * @param USARTx :串口USART1.2.3 * DMA_Chx: DMA 通道 如:DMA1_Channel2 参考DMA手册 * cmar : 发送数据缓存地址 例如 (u32)USART3_Buffer.sendbuff * size : DMA通道的DMA缓存大小 此处为0 * @...原创 2018-05-05 12:56:26 · 833 阅读 · 0 评论 -
关于STM32的DMA 介绍 (3)
转载 2018-05-05 12:53:58 · 146 阅读 · 0 评论 -
关于STM32的USART整理的全局函数 HAL_USART.C介绍 (2)
函数及功能介绍:/** * @brief 结构体公共部分初始化 * @param[in] * @retval * 公共部分初始化为 0 或固定值的参数初始化,其余参数另行初始化 */void USARTx_PublicInit(USARTx_BufferType *USARTx_Buffer)/** * @brief 清除 结构体的接收/发送缓存及接收/发送标志 * @par...原创 2018-05-05 11:50:51 · 932 阅读 · 0 评论 -
关于STM32的USART整理的全局函数 HAL_USART.h介绍 (1)
串口的简单介绍(1)、物理上的连线至少3根,分别是Tx数据发送线,Rx数据接收线,GND共用地线。(2)、0与1的约定。RS232电平,约定﹣5V至﹣25V之间的电压信号为1,﹢5V至﹢25V之间的电压信号为0 。TTL电平,约定5V的电压信号为1,0V电压信号为0 。CMOS电平,约定3.3V的电压信号为1,0V电压信号为0 。其中,CMOS电平一般用于ARM芯片中。(3)、发送秩序。低位先发。...原创 2018-05-05 11:51:19 · 3365 阅读 · 0 评论