
单片机
文章平均质量分 51
单片机相关文章
小歆Pro
这个作者很懒,什么都没留下…
展开
-
STM32H7 外部SDRAM读写没有四字节对齐引起HardFault异常的解决方案
STM32H7系列在与外部SDRAM一起使用时,如果进行非对齐访问,可能会触发硬件异常,导致进入HardFault_Handler。这是因为根据ARMv7-M体系结构参考手册,对于被指定为Device Memory Type的区域(如STM32F7xx的外部SDRAM映射区域0xC0000000-0xDFFFFFFF),所有访问必须自然对齐,否则将执行硬件异常。原创 2024-12-06 11:09:11 · 628 阅读 · 0 评论 -
解决VSCode中查看ESP32日志乱码
修改VSCode设置,将Monitor串口波特率改为ESP串口的。,因串口波特率不匹配导致Monitor中输出的内容为乱码。在VSCode中IDF默认的Monitor串口波特率为。,然而ESP32输出Log的串口波特率默认为。保存文件后重启VSCode,输出Log正常。原创 2023-05-23 08:33:37 · 2079 阅读 · 0 评论 -
STM32U5的GPIO外部中断不进中断回调函数(HAL库)
在一些列硬件和软件的排查后,发现STM32F412中的外部中断回调函数名与STM32U575的函数名不同。首先我是基于STM32F412的程序移植到STM32U575,使用的是STM32 HAL库进行开发的。从外部中断处理函数不难发现,STM32U5拆分了外部中断上升沿和下降沿两个回调函数。所有功能移植完成后,发现GPIO无法进入中断回调函数。函数实体,根据上升沿或下降沿需求分别改为。原创 2023-04-24 16:24:00 · 1425 阅读 · 2 评论 -
基于STM32CubeMX生成的Keil项目移植RT-Thread系统
一、前言STM32CubeMX生成的Keil项目移植RT-Thread的文章搜索了好多,不是在STM32CubeMX中添加RT-Thread就是非STM32CubeMX生成的项目添加RT-Thread的教程,今天总结一下使用STM32CubeMX生成的Keil项目移植RT-Thread系统。准备工作Keil已经安装好RT-Thread,Keil RT-Thread 离线安装包STM32CubeMX任意版本安装完成,STM32CubeMX 安装包二、创建工程在STM32CubeMX中选择好芯片原创 2021-07-16 21:46:55 · 2488 阅读 · 1 评论 -
CentOS8 安装ARM Linux交叉编译环境
1.Pre-built Toolchain传送门总入口:https://www.linaro.org/downloads/Cortex-A系列处理器:https://releases.linaro.org/components/toolchain/binaries/Cortex-R 和 Cortex-M系列处理器:https://launchpad.net/gcc-arm-embedded后面以GNU ARM Embedded Toolchain为例2.安装由于CentOS7安装的是64位(查询原创 2021-05-25 15:32:46 · 1536 阅读 · 0 评论 -
C语言实现任意数据类型的Queue环形队列RingBuffer
头文件 fifo.h#ifndef __QUEUE_H_#define __QUEUE_H_/********************************************************************* * @brief Queue队列类型定义 *********************************************************************/typedef struct{ unsigned int原创 2021-04-14 15:54:49 · 1339 阅读 · 3 评论 -
ESP8266 RTOS SDK 开发环境搭建 CentOS7
一、前言操作系统选择相较轻量级的CentOS7无界面版本,其他Linux操作上使用的命令可能有所不同,需要注意一下。ESP8266 RTOS SDK 使用乐鑫最新版本(V3.4),Github地址如下:https://github.com/espressif/ESP8266_RTOS_SDK/tree/release/v3.4其他版本操作类似,可以参考相关流程。二、下载首先创建一个文件夹用于存放SDK和工具链文件,可以跟我相同,也可以根据自己的需要建在不同文件夹。cd /home/mkdir原创 2021-02-28 21:34:36 · 822 阅读 · 0 评论 -
ESP8622模块(ESP-12F)固件烧录教程
一、准备工作模块电源(复位引脚)可控 GPIO0可以拉低串口通信正常,可以正常发AT指令供电电源可以提供500mA以上的电流二、软件配置打开flash_download_tool_v3.8.5软件,选择Developer Mode按钮,进入开发模式。选择ESP8266 DownloadTool按钮,打开ESP8266下载工具按照下图红框勾选第一个选项框,选择要下载的bin文件,填入地址0x0000,配置下载选项,选择模块通信的COM口。BAUD是指下载波特率,一般默认即可,如果原创 2021-02-10 21:16:32 · 8651 阅读 · 3 评论 -
STM8 自带 BootLoader 串口烧录程序(STM8AF624x)
一、进入BootLoader模式根据STM8的资料可以知道,进入BootLoader的方法只有两种:空芯片(Flash首地址内容不是0x82或0xAC),上电后即可进入BootLoader模式。OPTION配置参数地址 487Eh = 0x55 , 787Fh = 0xAA,复位后会进入BootLoader模式。二、写入OPTION配置参数通过Flash写入的方式将地址 487Eh 和 787Fh写入0x55和0xAA即可,通过MCU执行一次Flash写入。1、使用库函数此方法只适用于可原创 2020-12-22 15:48:24 · 4488 阅读 · 1 评论 -
QueueForMcu 基于单片机实现的队列功能模块
QueueForMcu基于单片机实现的队列功能模块,主要用于8位、16位、32位非运行RTOS的单片机应用,兼容大多数单片机平台。一、特性动态创建队列对象动态设置队列数据缓冲区静态指定队列元素数据长度采用值传递的方式保存队列数据二、快速使用#include "queue.h"#define Q_UART_BUFFER_SIZE 1024QUEUE_HandleTypeDef qUartTx;QUEUE_DATA_T BufferUartTx[Q_UART_BUFFER_SIZ原创 2020-12-08 09:00:00 · 958 阅读 · 0 评论 -
STM8串口接收中断无法进入问题(STM8L051/101F3)
前言最近弄了一块STM8L051/101F3开发板,打算简单玩一玩。在我IO和定时器都没问题后我开始配置串口UART时发现接收中断始终无法进入,发送中断都是没问题的,之后我就开始了为期两天的问题排查,几乎排查所有可能的问题点。STM8L051/101F3开发板代码我这里的MCU是STM8L051F3,使用的STM8库开发,代码如下仅供参考:main.c#include "...原创 2019-07-23 22:42:04 · 2175 阅读 · 1 评论 -
STM32cubeMX安装F4固件失败解决方案
1、在STM32网站下载F4固件,STM32CubeF4。2、下载下图中的两个固件,并分别命名为stm32cube_fw_f4_v1241.zip和stm32cube_fw_f4_v1240.zipimage.png3、将下载好的文件复制到C:\Users\用户名称\STM32Cube\Repository目录下,其中用户名称为计算机的用户名,请根据实际情况替换。4、打开...原创 2020-04-06 19:42:06 · 8210 阅读 · 0 评论