![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
STM32
文章平均质量分 55
主要讲解HAL库如何配置
m0_61973119
这个作者很懒,什么都没留下…
展开
-
stm32F407+ESP8266+AT指令+阿里云+代码进阶版(4)
链接:https://pan.baidu.com/s/1wBoOdWZpPuEVNOVuO_71rQ?原创 2024-03-20 23:00:52 · 645 阅读 · 4 评论 -
ESP8266如何连接两个服务器
由于本设置不会保存到Flash,因此每次传输数据必须需要开启透传。3、连接多个服务器,其中第1位是第几个服务器的标识。AT+CIPMUX= 0(单连接模式 )AT+CIPMUX= 1(多连接模式)5、服务器给ESP8266发送消息。2、将连接设置位多连接模式。4、给两个服务器发送消息。原创 2024-05-18 15:18:17 · 323 阅读 · 0 评论 -
插上STLINK 但是下载时 显示无JLINK
问题:已经把调试方式改成了ST-link,但是下载时还是提示无J-LINK原因。解决办法:点击Utilities,然后将下载方式设置为ST-Link即可。原创 2024-05-18 11:49:05 · 147 阅读 · 0 评论 -
ESP8266调试的常见问题
5、如果WIFI已经连接成功,但是代码没有改,再次连接还是失败,此时可以检查接线是否松动,然后断电,上电再看WIFI连接情况。6、发送AT指令没有反应,需要判断是否进入透传模式,连续发送+++退出透传。4、用串口发送AT指令时,串口调试助手要勾选新行,代码里面要加入\r\n。2、USB转TTL和ESP8266通信是否正常(判断固件是否需要更新)1、ESP8266的灯是否还能亮(判断硬件是否损坏)3、供电问题,比如正点原子的WIFI必须5V供电。7、WIFI频繁断线可能是电压不稳。原创 2024-05-17 18:13:41 · 307 阅读 · 0 评论 -
stm32F103C8T6裸机如何提高响应速度
思路就是:将主函数的程序分为几块,不使用死延时函数,利用定时器中断,每1MS中断一次,然后中断1000次之后,过去了一秒钟,将1S标志位置1,然后主函数接收到之后,运行1S任务。原创 2024-05-09 12:54:58 · 181 阅读 · 0 评论 -
C语言如何解析JSON数据
用于在一个字符串中查找另一个字符串第一次出现的位置。一个字符串处理函数,用于比较两个字符串的大小关系。用于将字符串分割成子字符串的函数,通常用于按照指定的分隔符将一个字符串拆分成多个部分。用于将字符串转换为整数(int类型)将一个字符串拷贝到另一个字符串中用于在字符串中查找指定字符的第一个匹配位置。原创 2024-05-09 12:13:32 · 911 阅读 · 0 评论 -
STM32F407+RTC实时时钟
实时时钟。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。RTC实物图如下。无论器件状态如何(运行模式、低功耗模式或处于复位状态),只要电源电压保持在工作范围内,RTC使不会停止工作。原创 2024-05-03 20:32:26 · 898 阅读 · 1 评论 -
STM32F407+串口IAP介绍
(1)在线编程(ICP,in circuit programming)系统存储器:留给ST写启动程序代码,启动程序代码通过串口1接口实现对闪存存储器的编程。(2)在程序中编程(IAP,in application programming)原创 2024-03-27 15:10:29 · 622 阅读 · 0 评论 -
STM32F407+USB HOST移植
USB有USB1.0/1.1/2.0/3.0多个版本,标准USB由4根线组成,VCC,GND,D+,D-,其中D+和D-是数据线,采用差分传输。在USB主机上,D-和D+都是接了15K的电阻到地,所以而在USB设备中,如果是,而如果是,当设备接入主机时,主机就可以判断是否有设备接入,并能判断设备是高速设备还是低速设备。DualCore:这通常指的是一个USB设备具有双核处理器,即设备内部有两个处理器核心,可以提高设备的处理性能和效率。原创 2024-03-26 17:44:42 · 854 阅读 · 0 评论 -
STM32F103+SPI+W25Q64
SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在 时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接 口可以是3线式或4线式。主机和从机之间传输的数据与 主机产生的时钟同步。同I 2 C接口相比,。SPI接口只能有一个主机,但可以有一个或多个从机。主机的片选信号用于选择从机。这通常是一个低电平有效信 号,拉高时从机与SPI总线断开连接。当使用多个从机时,主机需 要为每个从机提供单独的片选信号。MOSI和MISO是数据线。MOSI将数据从主机发送到从机,MISO将数 据从从机发送到主机。原创 2024-01-02 13:25:30 · 1404 阅读 · 0 评论 -
FLASH闪存的读取、擦除、编程+stm32f103c8t6
(1)STM32F1系列的FLASH包含三个部分,通过可以对进行;通过在程序中编程(IAP),实现程序的自我更新(3))用于,它通过JTAG、SWD协议或系统加载程序(Bootloader)下载程序(4))可以。(首先在 程序更新后不影响的地方自己写一个bootloader程序,需要更新程序之后,程序跳转到自定义的bootloader程序,然后通过任意一种通信接口接收数据,然后在通过对flash的读写,将接受到的数据放到程序正常运行的地方)原创 2023-12-21 17:02:59 · 3140 阅读 · 2 评论 -
STM32F407+USB在线升级
链接:https://pan.baidu.com/s/18uUT0wrLKnioZBnBwAgD6w。原创 2024-03-27 16:16:24 · 433 阅读 · 1 评论 -
USB在线升级 跳转运行程序死机 解决方法
bootloader跳转到APP时,app执行完初始化程序后死机?一般bootloader跳转到APP时要关闭app中用到的中断,那么查看系统中用到的中断:串口中断、滴答定时器中断,所以,跳转之前要关闭这两个中断:_disable_irq()和systick。void jumpToApp(void){ if ( ( ( * ( __IO uint32_t * ) APPLICATIONADDRESS ) & 0x2FFE0000 ) == 0x20000000 ) //原创 2024-04-23 22:35:46 · 213 阅读 · 0 评论 -
HAL库如何配置串口空闲和接收中断
usart.h#define USART1_MAX_RECV_LEN 1000 //最大接收缓存字节数//接收缓冲,最大USART3_MAX_RECV_LEN个字节usart.h//接收缓冲,最大USART3_MAX_RECV_LEN个字节//接收中断= RESET)//将数据放入缓冲区//空闲中断= RESET)//一帧数据接收完成。原创 2024-04-22 14:42:24 · 402 阅读 · 0 评论 -
硬件中断错误HardFault_Handle如何解决
四、右击空白处,输入遇到硬件中断前地址,即可知道错误原因。三、打开Disassembly Window。二、打开Call Stack Window。程序就会自动跳转硬件中断错误处。一、在硬件中断处点击断点。原创 2024-04-22 14:19:40 · 261 阅读 · 0 评论 -
GY39气压,温湿度,光照强度传感器
是一款模块。工作电压 3-5v,功耗小,安装方便。其工作原理是,MCU 收集各种传感器数据,统一处理,直接输出计算后的结果。GY39有两种方式读取数据,即串口 UART或者 IIC。原创 2024-04-21 16:02:02 · 1292 阅读 · 2 评论 -
STM32F407V2版+移植LWIP
LWIP可以选择在官网下载或者直接获取正点原子移植成功的代码里面的LWIP文件(LWIP>lwip1.4.1->src->include->netif中的 ethernetif.h 文件,这个文件在 LWIP 源码中是不存在的,这个文件由ALIENTEK 提供,下载正点原子的工程代码,将该路径下的 ethernetif.h 文件复制到自己工程的相应位置)然后再加入几个自定义文件,这三个文件lwip_comm.c 和 lwip_comm.h 是将 LWIP 源码和前面的以太网驱动库结合起来的桥梁!原创 2024-03-11 16:17:56 · 1325 阅读 · 0 评论 -
keil如何计算程序大小
RW(已初始化可读可写数据段RW DATA) :程序中已经初始化的变量所占空间 ,可读可写变量,既在ROM中,又在RAM中存储。上图编译后的大小就应该是44476+175536+236=220248Bytes,也就是215K左右的数据。ZI :未初始化的static变量和全局变量以及堆栈所占的空间 ,初始化为0的变量,存储在RAM中。RO(read only data) :常量所占空间 ,只读,存储在ROM中。Code(CODE DATA):代码的大小 ,存储在ROM中,掉电保存。原创 2024-03-26 20:36:07 · 318 阅读 · 0 评论 -
FATFS文件系统的移植
(1)一个可以实现SD的初始化和读写磁盘的基本工程(2)FATFS源码下载。原创 2024-03-25 14:28:00 · 259 阅读 · 0 评论 -
CAN总线为什么需要120Ω
为什么终端电阻的阻值是120Ω呢?这是因为CAN总线的特性阻抗为120Ω,终端电阻的阻值与总线特性阻抗相等,可以实现阻抗匹配,最大程度地减小信号的反射和干扰。1. 终止作用:终端电阻将CAN总线的两端阻抗匹配到总线特性阻抗,防止信号的反射和干扰。这有助于减小信号的失真和抖动,提高总线的可靠性和稳定性。CAN总线终端电阻的作用是在CAN总线的两端提供阻抗匹配,以确保信号的正确传输和抗干扰能力。2. 抑制作用:终端电阻能够抑制总线上的电磁干扰和噪声,保证信号的质量和准确性。原创 2024-03-12 11:55:28 · 766 阅读 · 0 评论 -
FatFS文件系统函数讲解
f_mount 函数在 FatFs 模块上注册 / 注销一个工作区。在使用任何其他文件函数之前,必须使用该函数为每个卷注册一个工作区。移动一个打开的文件对象的文件读 / 写指针。也可以被用来扩展文件大小 ( 簇预分配 )。创建 / 打开一个用于访问文件的文件对象。原创 2024-02-19 15:02:58 · 1343 阅读 · 0 评论 -
GD25Qxx芯片详解
【代码】GD25Qxx芯片详解。原创 2024-02-19 10:06:45 · 773 阅读 · 0 评论 -
74HC154D-LED
1-11 13-17 :输出端。输入端、20-23:地址输入端 (address inputs)电源正 (positive supply voltage)原创 2024-02-06 16:01:18 · 829 阅读 · 0 评论 -
EEPROM之MB85RC64介绍
工作频率 : 400 kHz (最大)即,当主机和一个EEPROM通信时,从机地址为1010 000+WR,如果主机和多个EEPROM通信时,从机地址为1010 A2 A1 A0 + WR。原创 2024-02-06 10:48:02 · 571 阅读 · 0 评论 -
HAL库之配置ADC
【代码】HAL库之配置ADC。原创 2024-02-05 13:15:50 · 543 阅读 · 0 评论 -
ADC详解
ADC 即模拟数字转换器,英文详称 Analog-to-digital converter,可以将外部的STM32F4xx 系列芯片拥有,这些 ADC 可以独立使用,其中 ADC1 和 ADC2 还可以组成。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。ADC1 有 16 个外部通道和 3 个内部通道,而 ADC2和 ADC3 只有有 16 个外部通道。ADC1 的外部通道是通道 17、通道 18 和通道 19,分别连接到内部温度传感器、内部Vrefint和Vbat。原创 2024-02-05 11:02:39 · 1989 阅读 · 0 评论 -
HAL库如何配置RTC实时时钟
STM32F407 的实时时钟(RTC)是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计数器,在相对应的软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统的当前时间和日期。。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直供电,RTC上的时间会一直走。原创 2024-02-02 16:47:19 · 2258 阅读 · 0 评论 -
HAL库配置CAN通信
/标识符屏蔽位模式中标识符寄存器,配置ID//标识符屏蔽位模式中屏蔽寄存器//标识符列表模式中为2个标识符寄存器,配置ID例如:屏蔽位寄存器的bit15=1,标识符寄存器的bit15=0,那么接受的Message里面的标识符的bit15必须为0才可能被硬件接受。如果屏蔽位寄存器的bit15=0,Message里面的标识符的bit15无论为什么值,bit15都能匹配通过。32位屏蔽位模式下:1个过滤器。FR2指定需要关心哪些位,FR1指定这些位的标准值。原创 2024-02-02 14:43:44 · 1479 阅读 · 0 评论 -
HAL库配置PWM模式
SMT32F1系列共有8个定时器:高级定时器(TIM1、TIM8);通用定时器(TIM2、TIM3、TIM4、TIM5);基本定时器(TIM6、TIM7)。SMT32F4系列共有15个定时器:高级定时器(TIM1、TIM8);通用定时器(TIM2、TIM3、TIM4、TIM5、TIM9~TIM14);基本定时器(TIM6、TIM7)。STM32的每个通用定时器都有独立的4个通道可以用来作为:输入捕获、输出比较、PWM输出、单脉冲模式输出等。原创 2024-02-02 10:31:35 · 907 阅读 · 0 评论 -
stm32如何生成hex和bin文件
(1)生成hex文件。(2)生成bin文件。原创 2024-02-01 10:37:23 · 619 阅读 · 0 评论 -
hal库外部中断配置
先使能外部中断优先级。,那么,否则会由于低优先级的嘀嗒中断发生在高优先级的外部中断而死机。解决方法是:将外部中断优先级降低,低于嘀嗒系统中断优先级,这时候可以在外部中断回调函数内使用hal delay。原创 2024-02-01 09:11:47 · 541 阅读 · 0 评论 -
STM32低功耗模式
STM32 的低功耗模式有 3 种:1)睡眠模式(CM3 内核停止,外设仍然运行)2)停止模式(所有时钟都停止)3)待机模式(1.8V 内核电源关闭)在这三种低功耗模式中,最低功耗的是待机模式,在此模式下,最低只需要 2uA 左右的电流。停机模式是次低功耗的,其典型的电流消耗在 20uA 左右。最后就是睡眠模式了。原创 2024-01-31 10:08:11 · 1281 阅读 · 0 评论 -
HAL库之看门狗
(1)独立看门狗(IWDG):独立看门狗由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。因此叫独立,同时因此在低功耗模式下不能启动看门狗,低功耗详情见之前文章。IWDG比WWDG更精确。只要没有到时间,都能喂狗。IWDG挂载在LSI上(2)窗口看门狗(WWDG):设置一个窗口值,窗口下限一般是定死的,窗口上限可以自定义(肯定要比自动重装载值小),只有在这个窗口内喂狗才行,否则将引起芯片复位。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。严格限定喂狗时间段。原创 2024-01-30 11:47:43 · 690 阅读 · 0 评论 -
单片机如何实现延时1ms或者1us
【代码】单片机如何实现延时1ms或者1us。原创 2024-01-25 17:08:12 · 3042 阅读 · 0 评论 -
HAL库配置FreeRTOS
3、在使用FreeRTOS时,必须为HAL设置一个非SysTick定时器作为HAL的基础时钟,SysTick将自动作为FreeRTOS的基础时钟。这里选择TIM1作为HAL库的基础时钟。对于常见的Cortex-M3、M4、M7芯片,选择V1即可。1、CMSIS_V1和CMSIS_V2版本主要的区别在于,更详细的可以参考下面这篇文章。原创 2024-01-22 16:04:59 · 525 阅读 · 0 评论 -
如何烧入bin文件(JLINK篇)
1、下载JLINK驱动2、启动JFlash软件3、创建一个新工程4、选择芯片型号5、选择需要下载的bin文件6、下载程序7、开始运行代码原创 2024-01-20 16:26:14 · 940 阅读 · 0 评论 -
HAL库配置RS485通信
在配置好串口的基础上完成RS485的配置。原创 2024-01-16 17:05:11 · 893 阅读 · 0 评论 -
HAL库串口介绍
【代码】HAL库之配置串口。原创 2024-01-08 11:47:35 · 767 阅读 · 0 评论 -
手把手教你使用cubemx配置串口
【代码】手把手教你使用cubemx配置串口。原创 2024-01-09 19:52:45 · 405 阅读 · 0 评论 -
单片机烧入代码没有反应
尽管单片机有串口调试助手或者仿真器供电,但是实际上 单片机的电量还是不足。此时可以插上电源线或者让串口调试助手和仿真器一起供电等等。我们通过stlink或者jlink烧写代码,单片机的电源灯已经被点亮,但是烧入代码之后没有现象。1、没有勾选下列选项,或者自己手动复位也可以运行。原创 2024-01-09 18:15:40 · 1573 阅读 · 0 评论