嵌入式学习专栏(STM32)
文章平均质量分 73
本专栏记录笔者学习STM32的一些笔记和心得,记录一些重要的知识点。
Sunny_Coder
这个作者很懒,什么都没留下…
展开
-
【嵌入式学习笔记】嵌入式入门8——SPI总线协议
SPI控制寄存器1用于配置SPI工作参数:SPI模式、SPI方向、NSS、数据帧、CPOL、CPHA、波特率、帧格式等SPI状态寄存器用于查询当前SPI传输状态(TXE、RXNE)SPI数据寄存器用于存放待发送数据或接收数据,有两个缓冲区(TX/RX)FLASH是常用的储存器件,它具有容量大,可重复擦写、按“扇区/块”擦除、掉电后数据可继续保存的特性,属于EEPROM写数据前需要擦除写操作,1->0,擦除0->1FLASH主要有NOR Flash和NAND Flash两种类型。原创 2023-08-17 15:37:29 · 809 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式入门7——IIC总线协议
EEPROM是一种掉电后数据不丢失的储存器,常用来存储一些配置信息,在系统重新上电时就可以加载AT24C02是一个2K bit的EEPROM存储器,使用IIC通信方式。A0/1/2 : 设备地址决定引脚WP : 写保护引脚SCL : 时钟线SDA : 数据线。原创 2023-08-15 15:51:39 · 364 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式入门6——定时器TIMER
基本定时器:TIM6/TIM7主要特性:16位递增计数器(计数值:0~65535)16位预分频器(分频系数:1~65536)可用于触发DAC在更新事件(计数器溢出)时,会产生中断/DMA请求通用定时器:TIM2/TIM3 /TIM4 /TIM5主要特性:16位递增、递减、中心对齐计数器(计数值:0~65535)16位预分频器(分频系数:1~65536)可用于触发DAC、ADC在更新事件、触发事件、输入捕获、输出比较时,会产生中断/DMA请求。原创 2023-08-05 16:51:57 · 2840 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式入门5——窗口看门狗WWDG
【代码】【嵌入式学习笔记】嵌入式入门5——窗口看门狗WWDG。原创 2023-08-04 16:42:50 · 350 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式入门4——独立看门狗IWDG
独立看门狗是异常处理的最后手段,不可依赖,应在设计时尽量避免异常的发生。原创 2023-08-04 15:41:13 · 460 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式入门3——串口USART
串口:即串行通信接口,指按位发送和接收的接口,如:RS-232/422/485等。RS-232接口(DB9)USART:通用同步异步收发器,Universal synchronous asynchronous receiver transmitterUART: 通用异步收发器,Universal asynchronous receiver transmitter,USART/UART都可以与外部设备进行全双工异步通信。原创 2023-08-02 16:18:56 · 1519 阅读 · 1 评论 -
【嵌入式学习笔记】嵌入式入门2——中断(外部中断)
NVIC还有中断挂起,解挂,激活标志等非常用功能,不做介绍。即复用功能IO,主要用于重映射和外部中断映射配置。调试IO配置AFIO_MAPR[26:24],配置JTAG/SWD的开关状态重映射配置AFIO_MAPR,部分外设IO重映射配置外部中断配置AFIO_EXTICR1-4,配置EXTI中断线0~15对应具体哪个IO口特别注意:配置AFIO寄存器之前要使能AFIO时钟,方法如下:对应RCC_APB2ENR寄存器 位0即系统配置控制器,用于外部中断映射配置等。原创 2023-07-31 20:42:41 · 2961 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式入门1——GPIO
不同型号,IO口数量可能不一样,可通过选型手册快速查询快速翻转,每次翻转最快只需要两个时钟周期(F1最高速度可以到50Mhz)每个IO口都可以做中断支持8种工作模式F1系列IO端口基本结构① 保护二极管② 内部上拉、下拉电阻③ 施密特触发器④ P-MOS & N-MOS管F4/F7/H7系列IO端口基本结构施密特触发器:施密特触发器就是一种整形电路,可以将非标准方波,整形成方波P-MOS & N-MOS管:MOS管是压控型元件,通过控制栅源电压( Vgs )来实现导通或关闭。原创 2023-07-31 17:59:25 · 1253 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础11——STM32常用轮子(SYSTEM)
【嵌入式学习笔记】嵌入式基础11——STM32常用轮子(SYSTEM)原创 2023-07-29 15:52:37 · 497 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础10——STM32时钟配置
【注】SystemInit 主要进行外部存储器配置和中断向量表地址配置。但是并没有用到,只是保留接口。HAL库的SystemInit 函数并没有任何时钟相关配置,所以后续的初始化步骤,我们还必须编写自己的时钟配置函数。原创 2023-07-28 17:55:31 · 495 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础9——STM32启动过程
总结:MAP文件是MDK编译代码后,产生的集程序、数据及IO空间的一种映射列表文件,简单说就是包括了:各种.c文件、函数、符号等的地址、大小、引用关系等信息。函数局部变量较多,嵌套关系复杂时,需加大栈大小(Stack_Size)原创 2023-07-27 17:39:37 · 1089 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础8——STM32CubeMX
STM32CubeMX是ST开发的一款图形配置工具,可通过,一个图形配置工具,搭配不同系列的STM32Cube固件包,即可支持不同系列的STM32芯片。原创 2023-07-26 11:25:49 · 203 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础7——认识HAL库
直接操作寄存器:执行效率高,时间成本高标准外设库 (Standard Peripheral Libraries):F0/F1/F3/F2/F4/L1,目前已停止维护HAL库(Hardware Abstraction Layer):全系列兼容、ST主推的库、兼容性、易移植性、效率低LL库(Low Layer):全系列兼容、与HAL库捆绑发布、轻量级、效率高、不匹配部分复杂外设此类函数通常被_weak修饰(弱函数),允许用户重新定义该函数。原创 2023-07-26 11:04:51 · 559 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础6——STM32基础知识
MCU厂商,经ARM公司授权,添加不同的外设 ,就成为了各种XX32芯片。原创 2023-07-25 10:39:29 · 679 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础5——C语言基础
宏定义可以提高效率、可读性、易改性,核心是替换#define 标识符 字符串标识符:宏定义的名字字符串:常数、表达式、格式串等一般的宏定义3.141598000000U带参数的宏定义x?x?x?dox??x?x?x?x?x?x?x?x?x?;x?while0建议使用 do{ … }while(0)来构造宏定义,这样不会受到大括号、分号、运算符优先级等的影响,总是会按你期望的方式调用运行。原创 2023-07-23 16:33:27 · 232 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础4——STM32最小系统
数据手册一般再ST官网或ST中文社区网可下载。原创 2023-07-18 11:46:47 · 660 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础3——STM32简介
ST——意法半导体;M——MCU/MPU;32——32位。原创 2023-07-18 10:52:42 · 309 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础2——ARM与Cortex-M系列介绍
ARM公司:只做内核设计和IP授权,不参与芯片设计,如图所示。ARM架构风靡全球是因为其产品有以下特点:ARM公司推出了ARM内核,随后演变成了Coretex内核,许多厂商根据该公司设计的内核生产芯片(STM32等)原创 2023-07-18 10:22:51 · 282 阅读 · 0 评论 -
【嵌入式学习笔记】嵌入式基础1——单片机简介
单片机(Single-Chip Microcomputer),单片微型计算机,是一种集成电路芯片。与电脑相对比如下图。原创 2023-07-18 10:02:54 · 299 阅读 · 0 评论