自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (8)
  • 收藏
  • 关注

原创 stm32H7在rtthread下使用FDCAN

由于rtthread的H743 BSP里还没有适配好FDCAN,所以写这篇文章作下记录。

2025-03-12 10:40:35 428 1

原创 读取H743片内温度传感器

cubemx生成工程后替换到原来的SystemClock_Config。初始化ADC,可以直接拷贝.msp里的,只是要加上最后的ADC校准。在cubemx中勾选ADC3,勾选温度传感器通道。计算出温度,但直接读取出的温度会有2~3℃的跳动。配置时钟,温度采样频率不要超过80MHz。在应用层里初始化后直接调用读取温度即可。可以加点滤波算法使得输出的数据平稳些。使用单次采样,810.5个采样周期。

2025-01-05 12:07:19 322

原创 rtthread里的rt_thread_delay_until

举个例子:假如一个tick是1ms,想要一个任务每隔10ms运行一次,但任务的算法耗时是2ms,则用rt_thread_delay的话两次任务的间隔时间就变成了10+2=12ms,但有时算法耗时不定,使得任务时间间隔不同;而用rt_thread_delay_until则是第10个tick后唤醒任务,两次任务的间隔时间任然是10ms。rt_thread_delay_until函数表示在此之后加n个tick再次运行。不同之处在于rt_thread_delay是间隔n个tick。

2025-01-05 12:04:17 375 1

原创 TinyUSB CDC

这里用串口工具64一包发送再返回没有问题,后续将测试单字节读取和写入功能。

2024-12-01 19:17:50 253 1

原创 TinyUSB msc使用

TinyUSB是一个开源的、专为资源受限的嵌入式设备设计的USB堆栈,它支持USB设备和USB主机功能。这个轻量级的堆栈能够跨多种微控制器平台工作,包括但不限于ARM Cortex-M和RISC-V架构。它支持多种USB类标准,如HID、音频、大容量存储等,允许设备扮演键盘、鼠标、音频设备等多种角色。TinyUSB的一个显著特点是将中断处理逻辑从中断服务例程(ISR)转移到非ISR的任务函数中,这不仅简化了中断处理流程,还提高了系统的实时响应能力和线程安全性。

2024-12-01 10:16:17 1073

原创 RT-Thread C++全局对象构造函数的调用【填坑】

这里用到的编译工具是armcc或armclang,对应的连接脚本是.map文件。但最近有个项目工程里的文件位置是用户自己设定的,运行程序后进入C++构造全局对象,在malloc分配空间的时候会进入断言,打印是system_heap为空。可以看到连接的map文件是绝对地址,map文件如果不在工程根目录下就会连接不到,程序也就找不到堆栈分配。正常情况下在官方的BSP下menuconfig使能C++功能即可,C++程序里会调用分配的空间。找了半天发现问题出在rtthread工程里的rtconfig.py。

2024-08-01 16:15:46 273

原创 用STM32的基础定时器TIM7做单次定时

使用 HAL_TIM_Base_Start_IT 开启定时器后会进入中断两次,原因是中断标志位没有清除,所以要使用 __HAL_TIM_CLEAR_IT 清除标志位。之前在cubemx里勾选了 One Pulse Mode,在使用过程发现定时器只会运行一次,用 HAL_TIM_Base_Start_IT 无法再次开启。TIM7的时钟为240MHz,这里对其进行240分频,并且勾选中断。用STM32的基础定时器TIM7做单次定时。

2024-06-10 20:24:11 577

原创 INA219差分电压测量填坑记

Current Shunt 这里的电阻之前焊了一个10Ω电阻,结果怎么测都不对,后来发现需要换成 0Ω 电阻。数据手册里的电路如下图所示。INA219测量差分电压。

2024-06-10 20:22:21 406 1

原创 stm32基于HAL的spi主从双机通信

cubemx配置spi主从通信

2024-05-10 22:51:22 931

原创 stm32h7硬件crc的使用

软件CRC耗时158us,硬件CRC耗时44us,硬件CRC的速度是软件CRC的4倍。STM32H753的硬件CRC功能可以快速计算数据的CRC校验值,提高系统的数据完整性和安全性。它支持不同的CRC算法,如CRC-32、CRC-16和CRC-8等。用户可以根据应用需求选择合适的CRC算法。硬件CRC的计算过程不会占用CPU资源,因为STM32H753拥有专门的硬件模块用于计算CRC校验值。这意味着CPU可以在计算CRC的同时执行其他任务,从而提高系统的处理能力和效率。

2024-05-09 23:00:40 478

原创 lwip客户端一次多包发送,服务端只接收一包

lwip客户端一次多包发送,服务端只接收一包。

2024-04-14 17:04:19 329

原创 CDC-UART相互透传

usb-cdc和uart-dma做不定长度数据的透传

2024-04-13 21:29:23 668

原创 一个能在stm32上轻松实现USB复合设备的USB协议栈

简单介绍AL94-I-CUBE-USBD-COMPOSITE的使用和踩的坑

2024-04-05 23:45:28 1180 5

原创 STM32用模拟SPI读写TF卡

以正点原子的潘多拉L475为例,介绍rtthread和HAL工程里用IO口模拟SPI控制TF卡。

2024-04-05 08:22:49 2230

原创 rtthread env pip 升级

虽然不知道会出现什么不良影响,pip以及安装成功,别模块也能顺利安装。这是因为pip版本比较老无法安装模块。输入下列指令,强制升级pip。

2023-09-07 22:33:11 169

原创 RTT L475 USB CDC

中的0x01代表检查DTR,0x02代表检查RTS,如果不需要DTR或者RTS可以直接把这里的data->connected置1。这里遇到过一个问题:因为bsp包的工程打开的功能太多,导致usb的功能和分频出现了问题,电脑无法正常显示出CDC虚拟串口,后来将多余的功能先关掉,CDC虚拟串口功能就正常出现了。有了串口后还没完,刚开始使用的时候出现了上位机没收到数据和无法接收数据的问题。不打开cubemx里的中间件,会与rtt里的程序产生冲突。这里可选择将USB设置的单一的功能或是复合的功能。

2023-07-19 17:23:40 337

原创 STM32+RTT error:unsupported option ‘--c99‘

工程时出现error:unsupported option ‘–c99’

2023-07-14 10:40:15 2458 1

原创 rtthread串口DMA收发

RTT文档里的DMA例子不知道是什么原因,接收数据大小只能小于消息缓冲区大小的一半,所以自己将中断接收的例子改为DMA方式。屏蔽掉HAL_UART_RxHalfCpltCallback里的dma_recv_isr()再在程序中做如下修改。

2023-06-10 22:07:37 1059

原创 输入地址直读取固定在RAM的值

适用于stm32做从设备时主机需要读取某地址上的值。

2022-07-17 11:31:14 711

原创 RTT线程与外部中断同步

RT-thread外部中断与线程的同步

2022-07-02 07:08:28 302

原创 串口接收填坑记

解决串口接收时有效数据帧的前后出现无用数据。

2022-05-24 22:56:36 136

原创 STM32F4基于RTT使用SPI sever功能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、器件准备二、使用步骤1.配置cubemx2.配置ENV3.软件中注册和配置SPI使用前言记录一下在RTT下使用SPI从机功能。一、器件准备1、USB转SPI调试工具。2、STM32F429一块。二、使用步骤1.配置cubemx将SPI2配置成全双工从模式、16Bit、MSB模式、软件CS。2.配置ENV打开SPI2功能。3.软件中注册和配置SPIint rt_hw_spi_flash_init.

2022-04-08 21:56:09 589

原创 stm32+RTThread串口在高波特率踩坑

项目场景:需要stm32f4的串口使用3000000+的波特率。问题描述:串口的中断接收平时都是使用115200或9600的波特率,在使用较高波特率时按照常用波特率的使用方法会出现无法读取或截断的情况。且用CubeMX配置时会出现波特率误差警告。 解决方案:问题出现的原因可能是系统中断接收处理不过来,导致出现接收数据被截断的情况。二是有些串口在16位采样时无法配置到那么高的波特率。想要配置高波特率,按照参考手册里的说明,需要将采样率从16位降到8位。RTThread的串口初始化里,默

2021-10-13 22:33:11 2222 1

原创 内网机使用env配置online-paks

文章目录前言使用步骤1.构建工程2.使用软件包前言RT-thread极大的简化了单片机的开发,但大多情况都需要联网操作,在此和大家分享内网机使用env配置online-paks的方法使用步骤1.构建工程内网机中我使用BSP包来进行开发,但刚下载的BSP的online-paks目录是旧的,有些软件包并没有包含在目录中,所以可以在外网机上先将BSP编译为独立工程,再更新online-paks目录。之后就可以将工程移到内网机。2.使用软件包工程中的packages文件夹是放置软件包的地方,在外.

2021-08-02 22:14:25 218

原创 si4463 WDS生成文件和参数配置的关系

文章目录前言一、si4463 WDS配置参数详解二、从配置文件逆推出WDS的参数设置前言最近接手了一个si4463的项目,但由于程序都是前人遗留来的,所以完全不知道当初是如何设置WDS来生成的配置文件。于是在弄懂其对应关系后在此记录下来,希望帮助刚上手的朋友们。一、si4463 WDS配置参数详解参考WDS软件各部分的详细注释:si4463 WDS配置参数详解二、从配置文件逆推出WDS的参数设置图一:生成的配置文件里的参数图二:WDS里的参数配置图一和图二钟标记的位置一一对应.

2021-08-02 21:44:22 1018

原创 QMovie的简单使用

文章目录前言一、使用方法总结前言QT上用QMovie运行GIF图片简介The QMovie class is a convenience class for playing movies with QImageReader. More…Header: #include qmake: QT += guiInherits: QObject一、使用方法代码如下(示例):QLabel label;QMovie *gif;gif = new QMovice(":/picture/mygif.

2021-06-26 23:18:27 2242

原创 rt_sprintf的使用

函数原型:示例: rt_uint32_t number1 = 0x12345678; char string[16] = {0}; rt_sprintf (string,"0x%x",number1);//format对应的是number1的类型 rt_kprintf("数字:%x 转换后的字符串为:%s\n",number1,string);rt_sprintf 的第二个参数format,对应的是后面参数的类型;当然也可以带入多个参数,这样就能将多个参数串联起来。

2020-11-07 11:32:33 2871

原创 deepin上使用qemu虚拟机

1、下载和安装deepin2、sudo apt-get install qemu(因为没有安装依赖所以在控制台内输入qemu-后按Tab键无反应)3、参考debian install kvm qemu添加链接描述4、控制台输入sudo apt-get install qemu-kvm 安装依赖5、安装图形界面管理工具 sudo apt-get install virt-manager6、在控制台输入virt-manager启动界面7、添加虚拟机...

2020-08-25 00:13:12 2521

原创 Eclipse IDE

对于学习嵌入式Linux的同学来说,学习gcc、makefile和GDB是必不可少的一项,习惯了在Windows下使用keil、IAR等IDE,突然转到使用命令行多少会有些不适应,下面我将简单介绍Eclipse在Linux环境中是如何用来开发的。Linux编译首先创建一个工程File——New——C Project选择Empty Project——选择Linux GCC——在“Pro...

2020-02-23 11:24:30 237

原创 Xshell和树莓派文件传输

安装工具命令:sudo apt-get install lrzsz输入 rz 可以选择要上传的文件输入:sz 文件名 可从树莓派上下载文件到PC

2020-02-06 20:54:31 696

原创 VMware(linux系统)设置共享文件夹

点击 虚拟机——设置按步骤添加共享文件夹linux里能在 /mnt/hgfs 找到共享文件夹

2020-02-06 20:04:30 711

转载 VMware Tools安装

目的安装VMware Tools解决物理机和虚拟机之间的复制粘贴问题。本文主要参考VMware Tools的安装安装完VMware Tools后重启虚拟机就能实现物理机和虚拟机之间的复制粘贴。...

2020-01-30 11:08:43 302

原创 没有路由器的情况下,用网线直连树莓派

我们给刚买回的树莓派刷上系统后,下一步就是想用电脑来远程访问树莓派;网上的大多数教程介绍的是将树莓派连接到路由器上,再用SSH工具进行远程登录;但在没有显示器、路由器和网络的情况下我们如何操控我们的树莓派呢?下面就来介绍一下如何用一根网线直连树莓派。准备材料笔记本一台树莓派一台烧写好系统的SD卡一张交叉网线一根连接用交叉网线连接树莓派的笔记本。运行——输入“cmd”后确定——在...

2020-01-19 00:42:30 1020

RTT版的WK2114驱动

RTT版的WK2114驱动

2025-04-01

keil5 v5.38里使用AC5

keil5 v5.38里使用AC5

2025-03-06

stm32H7在rtthread下使用FDCAN

stm32H7在rtthread下使用FDCAN

2025-03-12

stm32H7在rtthread下使用FDCAN

stm32H7在rtthread下使用FDCAN

2025-03-12

读取H743片内温度传感器

读取H743片内温度传感器

2025-01-05

stm32h743使用TSG时间

stm32h743使用TSG时间

2025-01-05

C语言ringbuffer

C语言ringbuffer

2024-11-04

PC终端WindTerm

开源终端软件

2024-08-12

SystemView-Windows-V354-x64.exe

SystemView_Windows_V354_x64.exe

2024-06-26

rtt里将cherryusb的一个cdc设置成调试口

rtt里将cherryusb的一个cdc设置成调试口

2024-06-26

cherryusb-acm-multi.zip

用cherryusb虚拟出四个cdc端口,适用于stm32h743/stm32h753

2024-06-17

rt-thread CherryUSB

该资源是在rt-thread上实现CherryUSB的CDC工程,是给刚开始学习CherryUSB的一个参考,该工程里除了rtt工程外还有一个CherryUSB自带的stm32h7的裸机demo工程,两个keil5工程需要用AC6编译,都在h743的板子上的得到验证,串口验证时记得勾选DTR

2024-06-14

hal-spi-slave

用HAL库实现SPI的DMA相互通信的从机程序

2024-05-05

SP804定时器参考手册

qemu-vexpress-a9的SP804定时器参考手册

2024-05-05

hal-spi-master

用HAL库实现SPI的DMA相互通信的主机程序

2024-05-05

CDC-UART相互透传

usb-cdc和uart-dma用IDLE(空闲)的方式做数据透传

2024-04-13

USB-UART不定长度数据透传

usb-cdc和uart-dma不定长度数据透传,usb-cdc采用空闲定时的方式使一次接收的数据包能大于64字节

2024-04-13

stm32+HAL+模拟SPI+TF+MSC模拟U盘

stm32用cubemx生成代码,用IO口模拟SPI控制TF卡,电脑上能正常显示出U盘,也能传输文件,该工程已在开发板上验证

2024-04-05

stm32+rtthread+模拟SPI+TF+FAT

在stm32上用rtthread系统的模拟SPI驱动控制TF卡,加上FAT组件后在控制台上能用指令读写txt,该工程已经在开发板上验证成功。

2024-04-05

STM32+wiznet+w5500+udp

STM32+wiznet+w5500+udp 程序中很长的延时后才调用udp程序,是因为运行udp运行过早控制台会打印出socket is not close (0x22)的提示,如果将udp程序放入while中会发现运行一段时间后socket又能正常创建。

2022-10-01

STM32F4基于RTT的SPI从机使用

在STM32F429平台上基于RTT系统使用SPI从机功能

2022-04-08

si4463芯片资料.zip

si4463寄存器说明 si4463数据手册 c版本例程 arduino版例程

2020-11-11

littleVGL教程集.zip

littleVGL代码量少但界面效果不错,适合刚入门的朋友快速上手GUI,这里包含入门时常查阅的一些教程,方便大家查阅littleVGL的API功能。

2021-02-21

PyQt5入门教学资料(带标签、带例程)

自学PyQt5入门教学资料

2021-02-28

HMC833.zip

亲测可用,由80C51驱动HMC833LP6GE芯片,为刚接触该类芯片的朋友提供参考。

2021-02-25

zynq教程集.zip

几篇常用的ZYNQ教程,希望对刚入门的初学者有所帮助

2021-02-21

系统架构师学习教程——专业指导教程

自学软考时用到的资料,希望能帮助走向架构师的同学。

2021-02-25

QT_UART.zip

一个简单的QT使用串口的模板

2021-08-10

空空如也

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

TA关注的人

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