
GD32开发交流
文章平均质量分 55
小灰灰搞电子
这个作者很懒,什么都没留下…
展开
-
STM32、GD32驱动TM1640原理图、源码分享
【代码】STM32、GD32驱动TM1640原理图、源码分享。原创 2025-02-11 14:52:13 · 679 阅读 · 0 评论 -
stm32驱动HX711称重传感器 c++代码分享
HX711模块具有一对不平衡式差分输入端,可以通过将感应器连接到这对输入端来测量称重传感器的变化。HX711模块通常被广泛应用于电子秤、压力传感器、称重传感器等领域,用于测量和计量各类物体的重量。HX711模块通常配合称重传感器一起使用,例如压力传感器、负载细胞等。它采用24位的模数转换器(ADC)来精确测量传感器的电压变化。通过读取HX711模块输出的测量值,可以获取准确的称重数据。HX711模块是一种专门用于称重传感器的放大器模块。它的主要功能是将测得的微小电压信号放大到可以被微控制器读取的范围。原创 2024-09-11 18:52:28 · 1121 阅读 · 0 评论 -
STM32、GD32驱动PCA9685控制舵机源码分享
一、PCA9685介绍一、PCA9685介绍PCA9685是一种16通道PWM(脉宽调制)控制器芯片,由NXP Semiconductors公司生产。它具有高速I2C总线接口,可以通过I2C总线与微控制器或其他设备进行通信。PCA9685广泛应用于各种需要精确控制多路PWM信号的应用,如LED灯控制、舵机控制、电机控制等。PCA9685芯片的工作原理是通过调整PWM的占空比来控制输出信号的电平。用户可以设置PWM输出频率和占空比,通过改变占空比来改变输出信号的电平。原创 2024-05-08 17:27:48 · 1331 阅读 · 0 评论 -
STM32、GD32驱动SHT30温湿度传感器源码分享
SHT30是一种数字湿度和温度传感器,由Sensirion公司生产。它是基于物理蒸发原理的湿度传感器,具有高精度和长期稳定性。SHT30采用I2C数字接口,可以直接与微控制器或其他设备连接。该传感器具有低功耗和快速响应的特点,能够在广泛的温度和湿度范围内准确测量。SHT30还具有内置的温度补偿功能,可以提供精确的湿度和温度测量结果。它广泛用于气象观测、室内环境监测、农业、工业自动化等领域。原创 2024-04-26 18:25:55 · 1226 阅读 · 0 评论 -
STM32、GD32等驱动AMG8833热成像传感器源码分享
AMG8833是一种红外热像传感器,也被称为热感传感器。它可以用来检测和测量物体的热辐射,并将其转换为数字图像。AMG8833传感器可以感知的热源范围为-20°C到100°C,并能提供8x8的像素分辨率。它通过I2C接口与微控制器或单片机进行通信,并可提供实时温度图像数据。AMG8833传感器被广泛用于热成像、人体检测、温度测量等应用领域。原创 2024-04-26 18:18:53 · 1821 阅读 · 7 评论 -
STM32或GD32驱动超高精度实时时钟PCF2129
一、PCF2129介绍PCF2129主要特性内部集成温度补偿功能的振荡器电容;精度:±3ppm(-20℃~+70℃);内置32.768 kHz晶振;可提供年、月、日、星期、时、分和秒等信息;时间印输入管脚,可中断的时间印功能;1MHz的双线I2C总线接口;6.5Mbit/s的三线SPI总线接口;备用电池输入和转换电路;备用电池电压输出;电池电量低报警;监控晶振停止工作功能;开漏中断引脚;1秒或1分钟中断输出;具有中断和复位功能的可编程的看门狗定时器;具有中断能力的可编程闹钟功原创 2021-06-18 15:36:54 · 1177 阅读 · 1 评论 -
STM32移植FAFTS文件系统遍历创建文件夹
FRESULT folder_create(char* path){ FRESULT res; DIR dir; char *str = path; char *pbuf; u16 cnt=0; res = f_opendir(&dir, path); if (res == FR_OK) { f_closedir(&dir); return FR_OK; } else { pbuf=mymalloc(SRAMIN,200);原创 2021-06-17 16:23:42 · 493 阅读 · 0 评论 -
STM32移植FAFTS文件系统遍历设备中的所有文件和文件夹
一、效果展示一、测试代码#include "sys.h"#include "delay.h"#include "usart.h" #include "led.h"#include "sdram.h"#include "mpu.h"#include "malloc.h"#include "nand.h" #include "ftl.h" #include "ff.h" #include "exfuns.h" #include "string.h"FRESULT scan原创 2021-06-17 14:16:47 · 1901 阅读 · 0 评论 -
STM32或GD32驱动TM1637
一、TM1637介绍TM1637 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。本产品性能优良,质量可靠。主要应用于电磁炉、微波炉及小家电产品的显示屏驱动。采用DIP/SOP20的封装形式。功能特点: 采用功率CMOS 工艺 显示模式(8 段×6 位),支持共阳数码管输出 键扫描(8×2bit),增强型抗干扰按键识别电路 辉度调节电路(占空比 8 级可调) 两线串行接口(原创 2021-06-16 15:24:18 · 3333 阅读 · 5 评论 -
使用STM32或GD32解析xml格式数据
一、XML文件介绍 可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。 在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年原创 2021-05-18 14:56:20 · 9021 阅读 · 5 评论 -
STM32驱动RC522读卡完整资料分享,包含原理图、PCB、驱动工程文件
一、原理图二、PCB三、驱动程序main.c#include "delay.h"#include "sys.h"#include "rc522.h"#include "usart.h"#include "string.h" /*全局变量*/unsigned char CT[2];//卡类型unsigned char SN[4],SNSave[4]; //卡号unsigned char RFID[16]; //存放RFID u8 KEY[6]={0xff,0xff,0原创 2021-04-29 16:57:53 · 8389 阅读 · 4 评论 -
移植rt-thread的过程中出现 #20: identifier “time_t“ is undefined或 identifier “clock_t“ is undefined
主要原因是在linux操作系统上这些值时定义的,但是移植到IAR或KEIL中是没有定义的,我查了半天三个值需要定义typedef long int time_t;typedef long clock_t;struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; //一个月中的某天(0 - 31) int tm_mon; int tm原创 2021-04-22 19:22:08 · 2427 阅读 · 0 评论 -
STM32F103通过Ymodem协议更新程序带MD5校验
一、先来几张靓图二、Xshell软件设置三、程序更新流程waitStartVerInfo, //等待起始校验消息,确定协议getProgInfoPack, //或去信息包progFileDeal, //程序处理downloadAndSaveProg, //下载并保存程序verifyDownloadProg, //校验下载下来的程序carryProgToMcu, //搬运程序进入MCUverifyMcuProg, //校验搬运进入MCU的程序recordPr原创 2021-04-16 15:37:15 · 1224 阅读 · 1 评论 -
ARM开发中常见数据类型取值范围
数据类型C语言取值范围整型int-2147483648~+2147483647无符号整型unsigned int0~4294967295短整型short int-32768~32767无符号短整型unsigned short int0~65535长整型long int-2147483648~+2147483647无符号长整型unsigned long int0~4294967295长长整型long long int-9,...原创 2021-04-08 16:26:20 · 1263 阅读 · 1 评论 -
STM32串口波特率计算问题和常用波特率
一、分数波特率的产生一、接收器和发送器的波特率在USARTDIV的整数和小数寄存器中的值应设置成相同。 =这里的fck是给外设的时钟(PCLK1用于USART2、 3、 4、 5, PCLK2用于USART1)USARTDIV是一个无符号的定点数。这12位的值设置在USART_BRR寄存器。注: 在写入USART_BRR之后,波特率计数器会被波特率寄存器的新值替换。因此,不要在通信进行中改变波特率寄存器的数值。如何从USART_BRR寄存器值得到USARTDIV例1: 如果 DIV_Mant原创 2021-03-30 19:05:04 · 16234 阅读 · 0 评论 -
使用KEIL开发ARM如何实现像面向对象语言一样的构造函数呢-$Sub$$与$Super$$
一、首先咱们先看一段代码:void $Sub$$main(void){ extern int main(void); extern int $Super$$main(void); delay_init(); uart_init(115200); printf("调用主函数之前调用$Sub$$main函数\r\n"); $Super$$main(); }int main(void){ printf("调用主函数\r\n"); while(1) { pri原创 2021-03-29 10:58:14 · 724 阅读 · 1 评论 -
STM32标准库rt-thread工程中移植syswatch组件
一、syswatch组件介绍 系统看守(syswatch)组件 主要功能是保障实时操作系统正常运行,防止系统死机 以及各种异常引起的线程阻塞,保障整个系统长期正常运行。系统看守具备以下几种行为模式:1.系统崩溃或硬件异常导致系统失去调度时,执行 系统复位 恢复系统正常运行。2.当有异常导致某些线程长时间阻塞时,可根据用户的配置实施 系统复位 / 杀掉阻塞线程 / 重启阻塞线程 的方式恢复系统正常运行。二、工作原理简述 系统看守(syswatch)组件 使用实时操作系统中允许的最高优先级作为看守原创 2021-03-12 16:09:55 · 1107 阅读 · 0 评论 -
基于STM32F103标准库、rt-thread操作系统完美移植freemodbus主机程序
一、说明1.移植的开发环境是keil5。2.基于rt-thread操作系统,也可以使用ucos和freeRTOS操作系统。3.本人可有偿代移植其他操作系统,具体费用主页加我QQ联系。4.页面底部有rt-thread操作系统移植成功的工程链接,大家可以参考。二、移植步骤由于移植过程比较繁琐,就不过多说明了,大家可以下载工程研究一下就行三、特殊说明1. 读取输入寄存器(功能04)使用函数:/** * Modbus master input register callback functio原创 2021-03-11 16:38:39 · 3461 阅读 · 5 评论 -
STM32标准库工程修改为GD32工程主频提高到108MHZ
一、准备工作移植前首先要有一个STM32F103的工程文件二、修改擦写时间将宏定义:#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)修改为:#define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF)三、修改时钟为108Mhz1、在"system_stm32f10x.c"中添加 #define SYSCLK_HSI_108MHz 108000000#if defined (STM32F10X_LD_VL) ||原创 2021-03-03 15:48:14 · 5626 阅读 · 14 评论