STM32
专业游手好闲
这个作者很懒,什么都没留下…
展开
-
秉火429笔记之一初识STM32
目录1. STM32概述2. STM32分类3. STM32命名规则1. STM32概述STM32,ST为意法半导体,M是Microelectronics的缩写,32表示32位,简而言之,STM32即为ST公司开发的32位微控制器。2. STM32分类STM32包含多个系列,从内核分为Cortex-M0、M3、M4、M7,每个内核有大概分为主流、高性能和低功耗。...原创 2019-04-19 14:31:42 · 560 阅读 · 0 评论 -
秉火429笔记之十二 看门狗
目录1. 概述2. 独立看门狗(IWDG)3. 窗口看门狗(WWDG)1. 概述STM32有两个看门狗,一个是独立看门狗,另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬。一般情况下,使用频次较高是独立看门狗,也即是通常意义的看门狗。2. 独立看门狗(IWDG)一个12位的递减计数器,最大值为0XFFF,当计数器的值从某个值一直减到0的时候,系统就会产...原创 2019-05-07 21:15:19 · 337 阅读 · 0 评论 -
秉火429笔记之十五 DMA--直接存储区访问
目录1. 简介2. 功能2.1 外设通道2.2 仲裁器2.3 FIFO2.4 存储器端口和外设端口2.5 编程接口3. DMA数据配置1. 简介直接存储器访问 (DMA) 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传 输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据。这样节省的 CPU 资源可 供其它操作使用。从硬件层次上...原创 2019-05-17 13:45:09 · 465 阅读 · 0 评论 -
秉火429笔记之十四 USART--串口通信
目录1. 串口通讯协议简介1.1 物理层1.2 协议层2 ST USART2.1 功能引脚2.2 重要状态2.3 编程要点2.4 代码实例1. 串口通讯协议简介串口通讯(Serial Communication)是一种设备间常用的串行通讯方式,因为简单便捷,大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。对于通讯...原创 2019-05-13 20:27:59 · 1015 阅读 · 1 评论 -
Jflash 工程配置及下载
目录1. 概述2. 工程配置3. 目标文件下载1. 概述Jlink工具作为常用的调试工具,其亦可以单独下载文件到MCU,需要借助JFLASH工具,下载地址如下https://www.segger.com/downloads/jlink/直接下载jlink软件或者单独下载J-FLASH都可以,只是需要下载的时候同意一下相关协议(影响不大)安装后,图标如下...原创 2019-05-28 13:36:35 · 26664 阅读 · 0 评论 -
秉火429笔记之十六 I2C--操作EEPROM
目录1. I2C 概述2. 硬件设计3. 代码实现1. I2C 概述参考该链接,不在赘述:https://blog.csdn.net/XieWinter/article/details/91903678介于ST I2C接口相对不好用,在此直接采用模拟I2C方式操作设备2. 硬件设计特征:兼容400KHZ,百万次写入,详见数据手册EEPRO...原创 2019-06-25 23:06:52 · 415 阅读 · 1 评论 -
秉火429笔记之十七 SPI--操作FLASH
目录1. SPI协议概述2. STM32 SPI特性及架构2.1 SPI外设简介2.2 STM32的SPI架构剖析2.2.1 通讯引脚2.2.2 时钟控制逻辑2.2.3 数据控制逻辑3. 通信过程4. 硬件设计5. 软件设计1. SPI协议概述关于SPI协议不做赘述,见详解。https://blog.csdn.net/XieWinter/arti...原创 2019-07-08 18:04:08 · 2071 阅读 · 0 评论 -
FatFs文件系统笔记--R0.13c
目录1. FatFs文件系统简介1.1 FatFs的目录结构1.2 FatFs帮助文档1.3 FatFs源码2. FatFs 文件系统的移植2.1 FatFs 分层体系2.1 FatFs 移植步骤2.1.1 添加 FatFs 源码到工程2.2 FatFs主要功能配置点3. FatFs模块应用说明4. FatFs 文件系统的缺点5. 例程工程...原创 2019-07-10 17:48:19 · 3502 阅读 · 1 评论 -
lwIP TCP/IP 协议栈笔记之一:概述和目录结构详解
目录1. lwIP概述1.1 TCP/IP 协议简介1.2 lwIP 简介1.2.1 目录结构 lwip-2.1.21.2.2 lwip-2.1.2/src2 目录结构详解2.1 /doc2.2 /test2.3 /src2.3.1 APIs2.3.2 /src/api2.3.3 /src/apps2.3.4 /src/core2.3.5 /...原创 2019-07-30 17:34:47 · 12722 阅读 · 2 评论 -
秉火429笔记之十八 ETH--以太网
目录1. 以太网简介2. SMI 接口 (站管理接口)2.1 SMI帧格式2.2 SMI 读写操作3. MII 和 RMII接口4. MAC 802.34.1 MAC 802.3 帧格式4.2 MAC数据包发送和接收4.2.1 MAC数据包发送4.2.2MAC数据包接收4.2.3MAC过滤5. 官方例程及应用笔记(LWIP)6. 硬件设计...原创 2019-07-29 10:35:35 · 2191 阅读 · 0 评论 -
秉火429笔记之十一 Systick--滴答定时器
目录1. 概述2. 寄存器说明3. 编程要点4. 实例代码SysTick—系统定时器是属于CM4内核中的一个外设,内嵌在NVIC中。系统定时器是一个24bit的向下递减的计数器。所有基于CM4内核的单片机都具有这个系统定时器,使得软件在CM4单片机中可以很容易的移植。系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。2. 寄存器说明CTRL SysTick...原创 2019-05-07 15:48:24 · 243 阅读 · 0 评论 -
秉火429笔记之十 EXTI-外部中断/事件
目录1. EXTI 简介2. EXTI 功能框图3. 功能点4. 编码要点1. EXTI 简介外部中断/事件控制器(EXTI)管理了控制器的23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。EXTI 控制器的主要特性如下:...原创 2019-05-06 16:23:19 · 631 阅读 · 0 评论 -
秉火429笔记之二寄存器
目录1. 寄存器概述2. STM32芯片架构3. STM32 存储器映射1. 寄存器概述寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,寄存器有累加器(ACC)。——摘自百度百科2. STM32芯片架构...原创 2019-04-19 15:06:04 · 478 阅读 · 0 评论 -
秉火429笔记之三GPIO框图剖析
目录1. GPIO概述2.保护二极管及上、下拉电阻3. P-MOS管和N-MOS管1. GPIO概述GPIO是通用输入输出端口(General-purpose I/O)的简称。芯片的GPIO引脚与外部设备连接起来,从而实现与外部通信、控制、及数据采集等功能。下图为GPIO的结构框图2.保护二极管及上、下拉电阻引脚的两个保护二级管可以防止引脚外部过高或过低的电压输入,...原创 2019-04-19 15:41:49 · 430 阅读 · 0 评论 -
秉火429笔记之四启动文件分析
名为“startup_stm32f429_439xx.s”的文件,它里边使用汇编语言写好了基本程序,当STM32芯片上电启动的时候,首先会执行这里的汇编程序,从而建立起C语言的运行环境,所以我们把这个文件称为启动文件。该文件使用的汇编指令是Cortex-M4内核支持的指令,可从《Cortex-M4 Technical Reference Manual》查到,也可参考《Cortex-M3权威指南中文...原创 2019-04-19 16:08:42 · 219 阅读 · 0 评论 -
秉火429笔记之五控制RGB彩灯
1. RGB彩灯混色RGB彩灯实际上由三盏分别为红、绿、蓝的LED灯组成的,通过控制RGB颜色强度的组合,可以混合出各种彩色。/* 基本混色*/// LED1(R)/ LED2(G)/ LED3(B)//红#define LED_RED \ LED1_ON;\ LED2_OFF;\ LED3_OFF//绿#define LED_GREEN...原创 2019-04-19 16:57:27 · 1603 阅读 · 0 评论 -
秉火429笔记之六按键检测
目录1. 按键概述2. 消抖3. 软件实现1. 按键概述机械按键,触点断开和闭合时,因其触点的弹性作用,按键开关不会马上稳定接通或断开,使用按键的时候会产生如下图的带纹波信号。2. 消抖软件消抖通过软件滤波加延时的方式,消除抖动。硬件消抖通过硬件电容的充放电的延时,消除波纹,从而简化软件的处理,软件只需要直接检查引脚的电平即可。3. 软件实现初始...原创 2019-04-28 13:08:19 · 180 阅读 · 0 评论 -
秉火429笔记之七位带操作
目录位带概况位带概况位操作,简单的理解,可以单独的对一个比特位读和写,51单片机非常常见。类如,51单片机通过关键字sbit来实现位定义,STM32并没有这个关键字,而是通过访问位带别名区(Bit band alias)来实现的。通过查看《M4内核参考手册》3.4 system address map 可知下图:M4中2个区域实现了位带,其一为SRAM的最低1MB空间,...原创 2019-04-28 22:29:12 · 227 阅读 · 0 评论 -
秉火429笔记之十三 通信基本概念
目录1. 串口通讯与并口通讯2. 全双工、半双工及单工通讯3. 同步通讯与异步通讯4. 通信速率1. 串口通讯与并口通讯按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是8根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。而并行通讯一般是指使用8、16、32及64根或更多的数据线进行传输的通讯方式。显而易见...原创 2019-05-08 11:27:33 · 403 阅读 · 0 评论 -
秉火429笔记之八 RCC时钟
目录1. RCC 作用概述2. RCC框图剖析—时钟树3. 编程要点4. 源码实例1. RCC 作用概述RCC :reset clock control 复位和时钟控制器。设置系统时钟SYSCLK、设置AHB分频因子(决定HCLK等于多少)、设置APB2分频因子(决定PCLK2等于多少)、设置APB1分频因子(决定PCLK1等于多少)、设置各个外设的分频因子;控制AHB...原创 2019-05-06 14:49:41 · 639 阅读 · 0 评论 -
秉火429笔记之九 中断应用概述
目录1. 中断类型2. NVIC 概述3. 中断优先级4. 优先级分组5. 编程要点1. 中断类型在此不严格区分中断和异常,即简单的认为中断与异常一个概念。M4 内核搭载了异常响应系统,支持众多的系统异常和外部中断。其中,F429芯片,系统异常10个,外部中断91个。除个别异常的优先级固定外,其它均可编程。stm32f4xx.htypedef enum I...原创 2019-05-06 15:41:57 · 473 阅读 · 0 评论 -
lwIP TCP/IP 协议栈笔记之八: 无操作系统移植
目录1. lwIP添加到工程2. 添加头文件3. 修改网卡驱动4. lwIP 时基5. 协议栈初始化6. 获取数据包6.1 查询方式6.2 中断方式7. ping 命令和ipconfig命令1. lwIP添加到工程如上图,把源码中src 添加到工程,并添加LwIP 头文件路径。比较简单,不做赘述2. 添加头文件lwipopts.h、cc.h、...原创 2019-08-21 15:23:34 · 1924 阅读 · 0 评论