自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 C语言结构体对齐

恢复到先前的对齐方式。这样可以在一段代码中改变结构体的对齐方式,而不会影响其他部分的代码。将当前的结构体对齐方式设为字节对齐,并保存先前的对齐方式。然后定义了一个结构体。是用于保存当前的结构体对齐方式,以便稍后通过。恢复到先前的对齐方式,以确保后续代码不受影响。例如,下面是一个示例代码片段,展示了如何使用。

2024-07-16 20:32:20 175

原创 中断变轮询的一种机制

中间搞一层buff作为缓冲,在中断和业务层建立buff,有效解决中断嵌套的问题。

2024-06-26 20:55:24 197

原创 详解linux虚拟文件系统下(VFS)常用的文件系统

虚拟文件系统(Virtual File System,简称VFS)是Linux内核的子系统之一,它为用户程序提供文件和文件系统操作的统一接口,屏蔽不同文件系统的差异和操作细节。借助VFS可以直接使用open()、read()、write()这样的系统调用操作文件,而无须考虑具体的文件系统和实际的存储介质。通过VFS系统,Linux提供了通用的系统调用,可以跨越不同文件系统和介质之间执行,极大简化了用户访问不同文件系统的过程。

2024-01-22 15:26:47 1119

原创 STM32定时器(未完)

介绍stm32定时器的使用。

2024-01-17 19:43:25 414

原创 STM32 DMA

搬运数据的方式:1. cpu 2. dmaDMA独立于AHB外设总线,直接连接在系统总线上CPU搬运数据方式:CPU–系统总线–AHB总线–APB总线–UART–APB总线–系统总线–CPU–SRAMDMA:DMA–系统总线–APB总线–UART–APB总线–系统总线–SRAM小圆点表示连接H7有三个DMA域DMA跨域访问H7系列如果使能了cache功能需要注意数据一致性问题DMA 内部实现DMA FIFO 2个16位数据组成32数据包一次搬运。

2024-01-05 18:03:46 357

原创 KEIL基础使用

core:device: 包含启动文件,system和startup。

2023-12-27 09:48:44 524

原创 解决freertos运行后,DMA中断运行不了的问题

自己在使用stm32H743XIH6调试UART的DMA中断时发现,只要freertos一运行,DMA就接收不到数据,不使能freertos,DMA就能接收到中断,接收到数据。

2023-12-25 17:05:06 460

原创 STM32常用的uart收发轮询、中断、DMA、不定长数据接收

stm32 uart常用的收发有轮询、中断、DMA。

2023-12-22 11:32:57 426

原创 解决KEIL编译慢问题

两种方案使用v6版本的ARM Compiler如果v6版本编译不过,必须使用v5版本的,则可以勾选掉Browse Information选项,提升很明显,1分多钟能优化到几秒(看代码量),但是这个有个弊端,在KEIL中会影响函数跳转,建议用宇宙级IDE vscode吧,仿真什么的再用KEIL

2023-12-19 10:56:41 431

原创 基于野火STM32H743XIH6搭建freertos工程

从原理图我们可以看出,LED灯使用的是三色灯,由三个GPIO控制,分别是PB0/PB1/PA3,我们在cubemx中将其配置成GPIO模式,并打上用户标签方便代码编写。给项目命名,指定编译器为MDK-ARM,这样生成的就是KEIL工程。现在MCU玩单片机的很少了,我们直接上freertos。使能一路uart来当做log口,方便系统信息打印。一些非常有用的配置项。

2023-12-18 18:57:27 472

原创 使用virtualbox配置虚拟机双网卡,一个网卡用来上网,一个网卡用来本地ssh登录服务

在工作开发环境搭建时,会遇到虚拟机net模式才能上网ping通百度,桥接模式不行,但是ssh服务又需要静态ip搭建在桥接网卡的基础上。

2023-12-04 14:08:58 408

原创 什么是100BASE-T1

100BASE-T1是IEEE专门针对100Mb/s汽车以太网的规范,也可以将其称为IEEE802.3bw,这两个名称指的是相同的规范。100BASE-T1规范可与OPEN Alliance BroadR-Reach互操作,它们几乎相同(名称通常可互换使用),但有两个的小的差异,第一在物理层电气(物理介质附件PMA)测试规范中,100BASE-T1规范定义了发送端最大峰值差分输出的测试,BroadR-Reach规范中未明确定义此参数。它仅支持全双工,同时在两个方向上传输;没有定义特定的连接器;

2023-11-30 15:15:45 839

原创 基于野火STM32F103ZET6开发板 I2C读写EEPROM学习

本文主要记录自己在使用野火STM32F103ZET6开发板学习I2c读写EEPROM的学习过程EEPROM(Electrically Erasable Programmable ROM)是电可擦除存储器。EEPROM可以重复擦写,它的擦除和写入都是直接使用电路控制,不需要再使用外部设备来擦写。而且可以按字节为单位修改数据,无需整个芯片擦除。现在主要使用的ROM芯片都是EEPROM。开发板上使用的EEPROM IC芯片型号为AT24C02,存储容量为2K bit,内容被分成32页,每页8Bytes,共。

2023-11-29 17:15:02 353

原创 CAN和CANFD的区别

表示位速率转换,该位为隐性时,速率可变(即BSR到CRC使用转换速率传输),该位为显性时,以正常的CANFD总线速率传输(恒定速率)。:速率可变,仲裁比特率最高1Mbps(与CAN相同),数据比特率最高8Mbps,据调研目前应用的都是5Mbps。CANFD标准帧ID长度可扩展到12bit。CANFD新增了FDF、BRS、ESI位。:表示是CAN报文还是CANFD报文。CAN标准帧ID长度最长11bit。:最大传输速率1Mbps。:一帧数据最长64字节。:一帧数据最长8字节。

2023-11-28 15:14:53 626

原创 0xFFu u为后缀的解释

其中,1024和0xff都为有符号数,这就意味着每个赋值操作包含了一个隐式的由有符号数到无符号数的类型转换,而1024u和0xffu都视为无符号数。在C语言中,数字常量如果没有后缀‘U’或’u’,则默认为是有符号数。

2023-11-27 19:38:24 350

原创 stm32中各寄存器含义

寄存器说明如下:寄存器说明_DR数据寄存器(Data Register)_IDR独立数据寄存器(Independent Data Register)_CR控制寄存器(Control Register)_SR状态寄存器(Status Register)_CSR控制/状态寄存器(Control Status Register)_CIR时钟中断寄存器(Clock Interrupt Register)_RSTR外设复位寄存器(Reset Re

2023-11-22 13:46:52 165

原创 STM32使用定时器实现微妙级延时函数

freertos占用了systick,HAL库函数HAL_Delay为ms级延时,采用内部一个定时器实现us级延时。

2023-11-21 19:50:55 130

原创 STM32标准库SPI_I2S_ReceiveData和HAL库HAL_SPI_Receive

可以通过检测SPI_SR中的RXNE位,当数据寄存器里有数据时,RXNE位是0,当数据全部从数据寄存器的接收缓冲区传输到移位寄存器时RXNE位被置1,这时候可以从数据寄存器里读出数据。,可以通过检测SPI_SR中的TXE位,当数据寄存器里有数据时,TXE位是0,当数据全部从数据寄存器的发送缓冲区传输到移位寄存器时TXE位被置1,这时候可以再往数据寄存器里写入数据。在使用HAL库时,不必这么麻烦,HAL库都帮我们封装好了,直接使用下面两个SPI的发送和接收函数接口。

2023-11-21 16:26:57 670

原创 使用STM32cube创建freertos定时器任务,定时器回调函数运行不了

使用STM32cubemx创建freertos定时器任务,定时器回调函数运行不了cubemx会默认创建一个默认任务,这个任务不能删除,尽量把这个任务的优先级设置为最低cubemx生成代码后,defaultTask里面是一个没有阻塞的死循环,这在freertos中是不被允许的,不然的话freertos无法切换任务

2023-11-20 19:05:06 298

原创 STM32F103ZET6使用CubeMX移植freertos

本文基于野火霸道开发板,记录使用CubeMX移植freertos流程。

2023-11-20 16:49:35 123 1

原创 stm32 adc变量定义使用__IO

什么是_IO变量:_IO为volatile变量,volatile 影响编译器编译的结果, 指出:volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。volatile(即__IO) 告诉编译器变量是随时可能发生变化的,每次使用它的时候必须从变量的地址中读取,因而编译器生成的可执行码会重新变量的地址读取数据。

2023-11-17 16:49:15 127 1

原创 基于STM32CubeMX+STM32F103ZET6配置工程

【代码】基于STM32CubeMX+STM32F103ZET6配置工程。

2023-11-16 19:44:34 1022 1

原创 vscode上搭建stm32 keil开发环境

因为使用vscode习惯了,keil界面又比较丑,想在vscode上搭建stm32 的keil开发编译烧录环境。

2023-11-13 14:39:15 130

转载 spi简介

spi总线介绍

2023-11-09 16:45:19 117 1

原创 软件按键小抖逻辑

1. 第一次读取GPIO输入电平为低电平。3. 再次读取GPIO输入电平仍为低电平。4. 才进行逻辑处理。

2023-09-22 16:05:01 44

原创 docker运行时挂在主机指定目录

参考一下链接:

2023-07-27 11:20:33 135 1

转载 ubuntu开机在logo界面卡死

参考:安装Ubuntu16.04卡在Ubuntu的logo界面解决方法_51CTO博客_ubuntu16.04开机卡在logo界面

2023-07-26 14:57:24 1104 1

原创 virtual box安装ubuntu,以及遇到的显示问题

3.2 虚拟机设置中调整下显存大小并配置下显卡。3.3 更改下ubuntu内部的显示分辨率。3.1 安装增强工具。

2023-07-26 11:14:29 165 1

原创 container_of的使用说明

container_of的用途说明container_of的主要作用是:通过已知的一个数据结构成员指针ptr,数据结构类型type,以及这个成员指针在这个数据结构中的成员名member,来获取指向这个数据结构的指针type *。

2023-06-04 22:37:42 101

原创 内核模块常用操作命令

4. depend modprobe是怎么知道一个给定模块所依赖的其他的模块呢?在这个过程中,depend起到了决定性作用,当执行modprobe时, 它会在模块的安装目录下搜索module.dep文件,这是depmod创建的模块依赖关系的文件。3. modprobe 与insmod类似,除此以外modprobe还能检查模块之间的依赖关系, 并且按照顺序加载这些依赖,可以理解为按照顺序多次执行insmod。rmmod不会卸载一个模块所依赖的模块,需要依次卸载,当然是用modprobe -r 可以一键卸载。

2023-06-04 16:05:38 256

原创 通过scp命令在PC和开发板之间传输文件

使用scp命令,在PC和板子之间copy文件

2023-06-04 15:53:40 710 1

原创 SecureCRT常用操作

SecureCRT常用操作

2022-08-04 14:09:07 404

转载 CAN总线和485总线的区别

CAN总线和485总线的异同

2022-06-21 15:16:22 8335

原创 C/C++ Q&A

C/C++ Q&A

2022-05-06 16:02:09 454

转载 替换Ubuntu原有的linux内核

Ubuntu替换linux内核版本

2022-05-06 15:06:32 715

原创 嵌入式开发日常积累(不定时更新)

嵌入式开发日常积累

2022-05-06 14:49:04 586

原创 主机和开发板互ping,只能单向ping通

主机和开发板互ping,只能单向ping通

2022-05-06 14:41:04 2437

转载 comgt 发送AT指令

发送AT指令的脚本

2022-04-13 14:47:40 604

转载 Linux 串口编程

这篇文章写的很好,转载,记录Linux下串口编程入门 - 冷烟花 - 博客园1. 串口简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIAhttps://www.cnblogs.com/jason-lu/articles/3173988.html...

2022-03-23 17:22:15 58

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除