草庐IT

基于rtthread的华大HC32F460在IAP的注意事项

IAP介绍IAP(inapplicationprogramming)即在应用中编程。即用户可以在程序运行的过程中对appflash部分的区域进行烧写,主要用于产品发布后,固件程序进行更新升级。固件程序包括2个部分:引导及跳转程序(BOOT)和用户应用程序(APP);bootloader部分功能相对简单,主要工作就是引导程序并跳转,固件升级(也可以放到APP中做),跳转到APP所在的FLASH区。APP部分,除了项目所必须的应用业务外,需要加入固件升级模块:包含固件下载、校验、甚至烧写(也可放在BOOT中)。做IAR之前,需要先界定FALSH应用区域,包括BOOT程序大小,FALSH其实地址,A

【ESP32最全学习笔记(基础篇)——2.ESP32 Arduino 集成开发环境】

关于本教程:ESP32基础篇                               1.ESP32简介                                                                2.ESP32Arduino集成开发环境☑3.VS代码和PlatformIO4.ESP32引脚5.ESP32输入输出6.ESP32脉宽调制7.ESP32模拟输入8.ESP32中断定时器9.ESP32深度睡眠ESP32协议篇ESP32网络服务器ESP32LoRaESP32BLEESP32BLE客户端-服务器ESP32蓝牙ESP32MQTTESP32ESP-NOWE

【STM32】--PZ6860L,STM32F4,ARM3.0开发板

一、ARM3.0开发板详细介绍1.开发板整体介绍(1)各种外设和主板原理图(2)主板供电部分5V和3.3V兼容设计注意跳线帽2.STM32核心板介绍3.核心板原理图STM32和51的IO对应关系下载电路二、ARM3.0开发板ISP下载原理分析1.ISP原理回顾其实启动2次。一次从系统区启动,一次从用户Flash启动。第一步:先设置BOOT1和BOOT0从系统区【系统存储器】启动,执行系统中预设的程序第二步:主机(电脑)通过串口发送要下载的hex文件给STM32第三步:系统预设的程序接收到hex后将其烧录到用户区Flash中第四步:设置BOOT1和BOOT0为从用户区启动,2.STM32F103

【STM32】单片机启动文件分析 01

启动文件启动文件由汇编语言写成,时单片机上电之后执行的第一个文件。也就是从上电到mian函数中间的一段过程。bootloaderbootloader也可以叫启动文件,每种MCU都有对应的启动文件。但开发环境往往自动完整地提供了这个启动文件,不需要开发人员再行干预启动过程,只需要从main函数开始进行应用程序的设计即可。启动文件是使用汇编指令写的,所以在看启动文件之前大家需要先了解一下汇编指令,常用的汇编指令如下:常见指令指令含义EQU给数字常量取一个符号名,类似于defineAREA汇编一个新的代码或者数据段SPACE分配内存空间PRESERVE8当前文件堆栈需要按8字节对齐EXPORT声明一

STM32 GPIO模拟i2c通信实现sht20的温湿度采样 并以JSON格式上报(串口调试助手为例)

一、先了解I2C协议由时钟线SCL和数据线SDA构成的通信线路,利用上拉电阻将它们拉成高电平(表示总线空闲)    I2C总线可以有多个从设备,且每个从设备都有一个唯一的7bit地址物理识别,因为I2C地址全0为广播地址,所以I2C总线理论上最多能带2^7-1=127个从设备(I2C:半双工通信的同步串行通信协议,采用电平信号,数据传输采用大端方式MSB,先发高位数据)I2C总线通信时序:I2C协议的起始信号(start):当SCL保持高电平时,SDA出现一个下降沿,产生起始位I2C协议的停止信号(stop):当SCL保持高电平时,SDA出现一个上升沿,产生停止位(停止通信后,总线空闲,处于高

【正点原子STM32连载】 第四十六章 摄像头实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V42)平台购买地址:https://detail.tmall.com/item.htm?id=6092947574203)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-340252-1-1.html#第四十六章摄像头实验正点原子战舰STM32开发板板载了一个摄像头接口(P6),该接口可以用来连接正点原子OV7725摄像头模块。本章,我们将使用STM32驱动正点原子OV7725摄像头模块,实现摄像头功能。本章分为如下几个部分:46.1OV7725简介46.2硬件设计46.3软件设计46.4下载验证

STM32的bootloader程序(通过串口更新STM32应用程序)

1什么是bootloader?        Bootloader,也被称为引导加载程序,是操作系统启动过程中的一个重要组成部分。它是存储在非易失性存储器中的一段小程序,负责在操作系统内核运行之前加载并启动一些必要的系统组件。        当计算机开机后,BIOS(基本输入/输出系统)会首先运行,检查并初始化系统硬件,然后从设定的启动设备(如硬盘、U盘等)中找到Bootloader并把控制权交给它。Bootloader随后开始执行,它会加载操作系统内核到内存,并传递一些必要的系统参数。2为什么需要Bootloader?        Bootloader的任务很重要,因为它构成了硬件和操作系

STM32笔记

GPIOGPIOB->BSRR|=GPIO_PIN_7 在STM32F103中,GPIOB->BSRR|=GPIO_PIN_7的作用是将GPIOB的第7位引脚设置为高电平(将引脚置1),而GPIOB->BRR|=GPIO_PIN_7的作用是将GPIOB的第7位引脚设置为低电平(将引脚置0)。下面是对这两个语句的详细说明:GPIOB->BSRR|=GPIO_PIN_7:GPIOB是STM32F103的GPIOB端口的寄存器地址。通过GPIOB指针可以访问和操作该端口的寄存器。BSRR是GPIOB的置位设置寄存器。通过对该寄存器进行操作,可以将对应引脚置为高电平。GPIO_PIN_7是位掩码,表示

STM32 cubeMX HAL库 LL库 串口死机及overrun error中断

遇到问题一次偶然经历,串口接收数据时,只接了TX和RX,忘了接地线,单片机能发送数据,但是一旦接收一个字节数据,马上就死机,表现为主函数无反应,串口能进中断,也能响应,但是不能再发送数据了。·经过排查,串口是进入了overrun中断·猜测是没接地线导致串口电平错误,一帧接收完后RX引脚处于不正确的电平,导致串口进入错误中断·通过调用FLAG查询函数可以得知overrun中断标志位被置位LL_USART_IsActiveFlag_ORE(constUSART_TypeDef*USARTx)·原因是在配置串口参数时,Overrun和DMAonRXError默认是打开的。关于Overrun和DMAo

解决STM32引脚无法输出0V电压问题:深入探讨输出缓冲器(Output Buffer)

        在嵌入式系统开发中,精确控制引脚输出电压是至关重要的。然而,有时会遇到DAC模块无法输出0V(接近)电压的情况,这往往是因为默认开启了OutputBuffer(输出缓冲器)导致的。在程序中直接赋值为0——“DAC_SetChannel1Data(DAC_Align_12b_R,0);”,输出值为71mV 一、直接解决         在通过对芯片手册的查阅可知:当OutputBuffer被使能时,最小输出值为0.2V,最大输出值为(VDDA-0.2)V;当OutputBuffer被禁用时,最小输出值为0.5mV,最大输出值为(VREF+-LSB)mV,由此可以得出OutputB