fifo stm dma 32
STM32中滴答定时器的使用并进行ms和us级延时
STM32中滴答定时器的使用并进行ms和us级延时 滴答定时器(Systick) 滴答定时器Systick是 stm32 内核中的一个系统定时器,是属于内核的外设。 滴答定时器是一个24位的倒计数定时器,当计数到0时,会从LOAD寄存器中自动重装载定时初值,开始新一轮计数。 在core_cm3.h和 ......
STM32中滴答定时器的使用并进行ms/us级延时
介绍了stm32中滴答定时器的原理和使用,并且介绍了如何在不影响`HAL_Delay()`函数使用的前提下使用滴答定时器进行ms和us级延时。 ......
阅读STM32-hal库代码得到的几点C代码编程规范
阅读STM32-hal库代码得到的几点C代码编程规范 规范一: 头文件使用 #ifndef _XXX_H #define _XXX_H #ifdef __cplusplus extern "C" { #endif // 头文件内容 #ifdef __cplusplus } #endif #endif ......
ESP32平台关于RS485分时双向通信的总结
ESP32平台关于RS485分时双向通信的一些总结 介绍 ESP32在Arduino环境下收发数据有两个关键函数,一个是Serial.available(),用于检测当前串口的缓存中有无数据,另外一个是Serial.onReceive(onSerialReceive, true);,通过类似于中断的 ......
ESP32在Arduino环境下使用QUEUE接收串口数据帧
ESP32在Arduino环境下的串口数据帧接收 测试平台 ESP32-WROOM 测试语言 Arduino @ PlatformIO 注意事项 需要添加Queue的库函数 作者: SMFSW PlatformIO环境配置文件 - platformio.ini [env:esp32doit-devk ......
c# 32位程序突破2G内存限制
起因在开发过程中,由于某些COM组件只能在32位程序下运行,程序不得不在X86平台下生成。而X86的32位程序默认内存大小被限制在2G。由于程序中可能存在大数量处理,期间对象若没有及时释放或则回收,内存占用达到了1.2G左右,就会引发异常“内存溢出”。环境:Visual Studio 2022 问题 ......
S32K146-CAN fifo接收
之前项目中,一直用的MB(message buffer)结构和中断方式来接收总线CAN 报文。总线负载率和MCU负载不高的情况下,能够正常接收报文。 总线报文复杂的时候,可以利用CAN-FIFO和硬件过滤来提高MCU接收报文能力和性能。 先理解三个概念: 1)筛选ID;2)掩码;3)FIFO接收 筛 ......
stm32之名缩写词
缩写 名称 缩写 名称 NVIC 嵌套向量中断控制器 CAN CAN通信 SysTick 系统滴答定时器 USB USB通信 RCC 复位和时钟控制 RTC 实时时钟 GPIO 通用IO口 CRC CRC校验 AFIO 复用IO口 PWR 电源控制 EXTI 外部中断 BKP 备份寄存器 TIM 定 ......
【WCH蓝牙系列芯片】-基于CH32V208开发板—独立看门狗
在芯片中,看门狗主要是用来监测单片机运行状态和解决程序引起的故障的模块,包括独立看门狗和窗口看门狗。独立看门狗比较简单,当然它的安全性没有比窗口看门狗高。独立看门狗:因为当芯片工作时会受到外界的干扰,可能造成程序进入死循环或者程序跑飞,程序的正常运行被打断,使得整个系统进入死机状态。因此“看门狗”这 ......
《Java架构师的第一性原理》32分布式计算之分布式锁(Redis、Zookeeper)
1 这才是真正的分布式锁 技术领域,我觉得了解来龙去脉,了解本质原理,比用什么工具实现更重要: (1)进程多线程如何互斥? (2)一个手机上两个APP访问一个文件如何互斥? (3)分布式环境下多个服务访问一个资源如何互斥? 归根结底,是利用一个互斥才能访问的公共资源来实现分布式锁,具体这个公共资源是 ......
《Java架构师的第一性原理》32分布式计算之分布式缓存第3篇LevelDB
互联网业务,绝大部分场景,会使用缓存服务。 但有时候,确实会使用到进程内存缓存/数据库,这个时候,LevelDB就能派上用场了。啥是LevelDB?LevelDB是Google开发的,一个速度非常块的KV存储库(storage library),它支持字符串的key与字符串的value,并且这种映射 ......
《Java架构师的第一性原理》32分布式计算之分布式缓存第1篇如何使用Redis搭建玩家排行榜
今天我们用 Redis 搭建一个玩家的排行榜,假设一个服务器存储了 10 万名玩家的数据,我们想给这个区(这台服务器)上的玩家做个全区的排名,该如何用 Redis 实现呢? 不妨一起来思考下面几个问题: MySQL 是如何实现玩家排行榜的?有哪些难题需要解决? 如何用 Redis 模拟 10 万名玩 ......
CH582,CH583,CH32V208等IC低功耗蓝牙系列2.4G例程RF_PHY/RF_PHY_Hop配对示例
RF_PHY和RF_PHY_Hop两个例程均可以采用这种思路,甚至可以组合使用,比如RF_PHY用来配对,RF_PHY_Hop用来数据通讯, 思路简介:该例程只要收发双方的地址,跳频频道等基础配置项一致即可进行无线通讯,因此可以衍生出其中一种较简单的配对思路,即: 1、初始化代码中使用默认地址,例如 ......
STM32使用HSE/HSI配置时钟
https://blog.csdn.net/weixin_44861344/article/details/122391838?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault ......
gd32f4xx在IAR环境下创建工程后无法正常运行问题排查
在创建移植工程时,我发现我需要创建一个基础环境,于是就顺手搭建了一个小的工程,简单到只有一个功能,就是运行systick,然后维护一个变量自加。结果发现,这个程序居然怎么都无法正常运行。 中断中的断点无法触发,变量不发生变化,我整个人都无语了,在网上查了很多资料,排除了debug的问题,boot引脚 ......
pyinstaller 打包 win32ctypes.pywin32.pywintypes.error: (225, '', '无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。')
背景: 使用python 写了一个程序,使用pyinstaller打包, 不使用-w --noconsole的命令打包隐藏命令行窗口时,是正常的, 但是使用-w或者--noconsole就会报错win32ctypes.pywin32.pywintypes.error: (225, '', '无法成功 ......
进程间通信-信号-pipe-fifo
1.运行结果 这三段代码实现了 FIFO(命名管道)的基本操作,允许进程之间进行通信。以下是对每个程序的简要说明: fifo_creator.c: 这个程序创建了一个 FIFO 文件,它使用 mkfifo 函数在指定路径下创建了一个名为 /tmp/myfifo 的 FIFO。 • mkfifo("/ ......
STM32驱动步进电机
一、步进电机的介绍 17HS4401步进电机是一种步进电机,也称为双级四相混合式步进电机。它是一种旋转电机,可以控制旋转角度和速度,17HS4401步进电机通常被应用于一些需要精准控制转动的场合,例如打印机、CNC机床等。参数:1.步距角度: 1.8度2.驱动方式: 双级四相混合式3.工作电压: 1 ......
CH32V307以太网MAC层数据包收发速度测试
测试平台: CH32V307VCT6+RTL8211FS PS:沁恒CH32V307VCT6-R2开发板带有千兆PHY(RTL8211FS),本次测试基于该开发板。该开发板原理图以及PCB图可在CH32V 307 EVT中获取到,如下图。EVT下载链接如下: https://www.wch.cn/d ......
Day32 方法的重载
方法的重载 简单来说就是一个类里面有X个方法,并且有相同的名字 只是参数不同(个数、类型、排列顺序) 重载就是在一个类中,有相同的函数名称,但形参不同的函数。 方法的重载的规则: 1.方法名称必须相同。 2.参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。 方法的返回类型可以相 ......
Mac Arduino ESP8266 ESP32 搭建开发环境
目录 1、安装Arduino 2、搭建开发板管理器 3、可能出现的错误 1、安装Arduino Arduino下载. 官方下载地址:Arduino官方网站 Arduino中文社区:下载地址 安装方式:解压后无需安装,拖到 应用程序(AppLication)里面就行了 2、搭建开发板管理器 打开Ard ......
同步FIFO设计
FIFO有一个读口和一个写口,读写时钟一致是同步FIFO,时钟不一致就是异步FIFO IP设计中通常使用的是同步FIFO 异步FIFO通常使用在跨时钟域设计中 RAM(Random Access Memory)的设计 FIFO中的数据可以存储在寄存器中或者SRAM中,FIFO的容量比较小的时候,使用 ......
为什么EmbeddedLinuxBeginnerSGuide的image中 uboot一定要放在fat32分区,不能跟preloader一起放在raw分区?
按照按照 (https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide)制作了一个image, 然后按照 https://www.cnblogs.com/DoreenLiu/p/17903782.html 将相 ......
ArmSoM Sige7替代Jetson-Orin-Nano,Xavier NX 搭载Hailo-8,32TOPS算力
ArmSoM激动地宣布,我们的最新产品Sige7已成功搭载RK3588处理器,利用PCIe外接Hailo-8高算力开发板,实现了惊人的32TOPS算力(RK3588 6TOPS + Hailo-8 26TOPS)。这一技术创新的里程碑将为各行业带来前所未有的计算性能和应用可能性。 引言 在数字化转型 ......
C#_Win32_PInvoke源码生成器
介绍 一个源代码生成器,用于向 C#项目添加一组用户定义的 Win32 P/Invoke 方法和相关的类型。 链接地址: https://github.com/microsoft/CsWin32 还在手动添加平台调用的代码或者增加无用的程序集?微软的官方解决方案来了! 特色 快速将 P/Invoke ......
Cyclone V SOC FPGA 如何将preloader uboot kernel rootfile rbf dtb uboot.scr 等文件打包成一个SD卡 .img文件 方便windows的windisk32 一键烧写呢?
首先 我按照 (https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide)制作了一个image, 将SD卡进行分区fat32, raw 和ext3,然后将preloader uboot kernel root ......
win32com:excel筛选 复制
import os.path from win32com.client import Dispatch excel = Dispatch("ket.Application") # 启动wps excel 应用。Microsoft excel用Excel.Application excel.Visib ......
基于STC32的智能灯控测试
我们要实现的功能是通过官方的例子改写以实现自己项目的要求: 项目要求:1.通过定时器实现灯亮十分钟后自动关灯 2.检测到有人来时开灯,并保持十分钟 3.若亮灯十分钟内还有人来,则刷新时间 4.将开灯和关灯的日志信息通过AIP技术存到EEPROM中,实现掉电不丢失 步骤: 首先,在stc官网提供的教程 ......
【STM32】STM32启动流程
概述 从上电复位到main函数的过程主要由以下步骤: 1.初始化堆栈指针SP=_initial_sp,初始化PC指针=Reset_Handler 2.初始化中断向量表 3.配置系统时钟 4.调用C库函数_main初始化用户堆栈,然后进入main函数 1.STM32的启动模式 STM32的启动模式决定 ......
STM32在CTF中的应用和快速解题
题目给的是bin文件,基本上就是需要我们手动修复的固件逆向。本文参考了网上多篇文章,最终汇总在一篇,对这道新的STM32题进行解题。 ......