STM32
文章平均质量分 68
Y-J-L
这个作者很懒,什么都没留下…
展开
-
STM32H743无操作系统移植LVGL8.2
本文章记录了本人使用正点原子F407和H743两块开发板移植LVGL8.2的说明,移植步骤安装正点原子的B站教程。原创 2023-05-12 14:26:42 · 1895 阅读 · 1 评论 -
定时器开启更新中断后会自动进一次中断
单片机定时器更新中断会自动进入原创 2023-03-09 17:09:08 · 136 阅读 · 0 评论 -
STM32F4使用高级定时器(TIM1和TIM8)输出PWM问题
STM32 PWM原创 2023-02-06 18:43:55 · 4098 阅读 · 1 评论 -
STM32F4移植官方DSP
STM32F4 DSP移植原创 2022-10-12 13:56:51 · 1581 阅读 · 0 评论 -
【无标题】Browse information of one or more files is not available错误及原因(不是网上那种点魔法棒解决)
keil出现Browse information of one or more files is not available错误原创 2022-08-18 12:33:53 · 9094 阅读 · 2 评论 -
STM32F4移植LWIP,PING不通
lwip原创 2022-07-11 20:17:37 · 2542 阅读 · 0 评论 -
单片机通过串口发送浮点类型数据
单片机通过串口向串口助手或者其他器件发送数据时是不能直接发送浮点类型数据的,通过printf("%f",1.28)发送浮点数据,在串口助手看似是小数,其实是字符串类型,它们是各符号对应的ASSCII码值(“1”的asscii是0x31,“.”的asscii是0x2E),使用printf发送的%d、%f、%lf等都是这样,是发送的对应数据的各asscii码值,除了%c之外。如下图所示是发送浮点类型串口助手的情况。分别使用%d、%f、%c发送数据,如图(左边是程序,中间是hex类型(字符型)显示,右边是原创 2022-01-05 22:07:26 · 15943 阅读 · 0 评论 -
W25Q1528 flash简要讲解
每页256个字节(看系统框图他只有256字节大小的缓冲区,也就是一页),写入的数据先放到缓冲区换成,然后再写入存储阵列,在写入存储阵列的这段时间中,器件对外部发的读写等指令没反应。 256字节一页,16页一个扇区(4K),16个扇区一块(64K) 写之前必须先擦除,只能以页写入方式写,写可以在任何地址写入不大于一页字节大小的数据,若写入的数据大小大于页剩余空间的大小,则会从该页起始位置继续写入并覆盖之前在此位置的值。 读:在发送读取的地址后,可以从存储器中读取任意字节大小的数据,读取一个字节...原创 2021-12-25 16:32:39 · 1377 阅读 · 0 评论 -
stm32要复位才能正常执行程序问题的记录
今天搞了个MD5加密的东西,从网上找了加密的算法(mg5.c、mg5.h)然后移植到正点原子的串口实验中打印查看,有趣的是相同一串字符(12334567)经过加密后居然有时候输出错误的值,如图:32135a337f8dc8e2bb9a9b80d86bdfd0才是正确的,经常出现程序下进去,输出的是e35a8992f1671f96762cf93eb979e384。按下复位键后才会输出正确的密钥,而且这个错误的密钥输出的几率和串口打印内容的数量有关,如果把前面串口打印的东西注释掉或者只打印一两句话.原创 2021-11-04 19:14:43 · 3521 阅读 · 0 评论 -
单片机/C语言浮点型数据转换为字符串方法
浮点型数据转换为字符串的方法: gcvt()函数 sprintf()函数 gcvt()函数函数名:gcvt头文件:<stdlib.h>函数原型: char *gcvt(double f,int n,char *c);功能:把浮点数转换为字符串,四舍五入参数:double f 要转换的浮点数 int n 为要显示的位数 char *c 存放结果的临时缓冲区返回值:返回字符串指针,即c指针但是,keil的C语言库不包含该函数...原创 2021-08-16 19:38:15 · 7831 阅读 · 0 评论 -
stm32的API | 远程升级
简介IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。通常实现 IAP 功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(如 USB、 USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这原创 2021-07-05 20:54:56 · 1948 阅读 · 1 评论 -
stm32f4内部flash讲解
基础简介不同芯片内部的flah大小不同,stm32f407内部flah是1M(1024K)大小,其结构划分如图所示:STM32F4 的闪存模块由:主存储器、系统存储器、 OPT 区域和选项字节等 4 部分组成主存储器:该部分用来存放代码和数据常数(如 const 类型的数据),分为 12 个大小不同的扇区,主存储器的起始地址是 0X08000000。系统存储器:这个区主要用来存放 STM32F4 的 bootloader 代码,此代码是出厂的时候就固化在芯片内部了,比例用串口下载程序时的bo原创 2021-07-05 09:53:53 · 8639 阅读 · 0 评论 -
STM32F4ADC基础概述
STM32F4内部ADC概述STM32F407ZGT6 有 3 个 ADC,每个 ADC 有 12 位、10 位、8 位和 6 位可选,每个 ADC 有 16 个 外部通道。另外还有两个内部 ADC 源和 VBAT 通道挂在 ADC1 上。ADC 具有独立模式、双重模 式和三重模式,对于不同 AD 转换要求几乎都有合适的模式可选。ADC功能框图:1)参考电压(图片来自STMf4中文参考手册)ADC 输入范围为:VREF- ≤ VIN ≤ VREF+。ADC读取到的电压由 VREF原创 2021-04-27 10:33:56 · 2531 阅读 · 0 评论 -
stm32影子寄存器、预装载寄存器,TIM_OC1PreloadConfig和TIM_ARRPreloadConfig的作用
转载 2021-04-01 23:01:50 · 1308 阅读 · 0 评论 -
STM32F4定时器及中断相关概要
目录TIM概述1.通用定时器中断配置步骤(基本定时器也一样):TIM概述STM32F42xxx 系列控制器有 2 个高级控制定时器、10 个通用定时器和 2 个基本定时器,还有 2 个看门狗定时器。其中TIME1 和 TIME8 等高级定时器,TIME2~TIME5,TIM9~TIM14通用定时 器,TIME6 和 TIME7 基本定时器,总共达 14 个定时器之多。基本定时器时钟只能来自内部时钟,高级控制定时器和通用 定时器还可以选择外部时钟源或者直接来自其他定时器等待模式...原创 2021-03-31 22:03:25 · 1551 阅读 · 0 评论 -
STM32F103与F407复用映射差异
寄存器和配制目录寄存器和配制差异F1:F4:差异F1:如上图所示,F103有默认复用功能和重映射复用功能一说,图中PB6,PB7默认复用功能为I2C,重映射复用为USART1,两者在配置上有点小差别。默认复用功能:只需要开启该外设的时钟和相对应的GPIO时钟,然后再配置相应外设即可。(例:开启I2c时钟和PB6和PB7时钟)重映射复用:不仅要开启该外设的时钟和相对应的GPIO时钟,还要开启AFIO时钟才能开始配置外设。stm32f103的AFIO寄存器如下...原创 2021-03-30 21:15:05 · 882 阅读 · 0 评论 -
STMF4编写系统时钟
目录STMF4时钟系统重点概要HSE作为系统时钟配置方法(附带程序)正点开发板晶振问题(不同频率晶振配置方法)STM F407时钟系统概要时钟框图设置系统时钟SYSCLK、设置AHB 分频因子(决定HCLK 等于多少)、设置APB2 分频因子(决定PCLK2 等于多少)、设置APB1 分频因子(决定PCLK1 等于多少)、设置各个外设的分频因子;控制AHB、APB2 和APB1 这三条总线时钟的开启、控制每个外设的时钟的开启。对于SYSCLK、HCLK、PCLK2、PCLK1 这原创 2021-03-26 00:41:14 · 531 阅读 · 0 评论 -
STM32F4新建工程文件简述
新建工程文件简述目录新建工程文件简述新建工程所需文件简述新建工程所需文件简述启动文件 statup_stm32f40_41xxx.s 启动文件,汇编语言编写,上电后执行的第一个文件,主要是设置堆栈,配置环境,调用SystemInit函数进行时钟初始化,中断服务函数名称也可在此寻找 外设相关 system_stm32f4xx.c 系统初始化,时钟配置,SystemInit函数就在此文件内 stm32f4xx.h 外设寄存器定义和地址映射到内..原创 2021-03-24 11:31:23 · 353 阅读 · 0 评论