- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 【单片机通过蜂鸣器模拟警号 救护车 警车 等声音 】
对于不同的声音类型,使用不同的周期参数(如 _PERIOD_1k8_VALUE、_PERIOD_3k5_VALUE 等)和步长(如 ((_PERIOD_1k8_VALUE - _PERIOD_3k5_VALUE)/50)、_PERIOD_2us 等)来调整声音的频率和占空比,以模拟不同的声音效果。该函数利用定时器中断,通过改变 u16Compare 的值,并使用 Adt_SetPeriodBuf 和 Adt_SetCompareValue 函数调整定时器的周期和比较值,产生不同类型的声音。
2025-01-16 15:54:40
458
原创 【C语言 采集数据 精简排序】
qsort函数是C语言标准库中的一个排序函数,定义在头文件stdlib.h中。 qsort函数可以对任意类型的数组进行排序,其通用性和灵活性使其成为C语言中常用的排序工具。
2025-01-02 23:20:02
264
原创 4G CAT1 DTU通信协议
tengxun,type,keepAlive,clientID,ProductKey,DeviceSecret,ProductSecret,Devicename,cleanSession,QOS, subTopic ,pubTopic,seriaID], – 通道6。[mqtt, clentID ,keepAlive, address, port, cleanSession,sub,pub, qos, retain,seriaID], – 通道4。
2024-12-13 14:42:47
1020
原创 C语言对 通讯模组 物理层(PHY)数据提取 方法
跳过开头表示模块名称的那部分字符串(如+ECSTATUS: PHY),然后通过sscanf函数按照%[^:]:%s的格式来解析出参数名和参数值,并进行打印输出,输出时会加上对应模块的前缀(如物理层 -、层2 -等)方便区分查看。使用 C 语言提取你提供的所有类型数据字段的示例代码,整体思路是通过字符串处理函数对不同模块的字符串分别进行分割和解析,提取出各个参数及其对应的值。在main函数里定义了各个模块对应的原始字符串数据,然后依次调用各个提取函数来提取并输出相应模块的所有数据字段内容。
2024-12-05 14:04:40
371
原创 怎么选择boost升压电路的电感?
BOOST电源架构是一种非常经典的升压电源方案,它是利用开关管开通和关断的时间比率,维持稳定输出的一种开关电源,它以小型、轻量和高效率的特点被广泛应用在各行业电子设备,是不可缺少的一种电源架构。从推导的公式可以看出,选择大电感时,产生的纹波也小,可以降低电感器的磁滞损耗和 EMI。我们对上图中的boost进行仿真,分别对比470uH和100uH时的纹波,示波器中绿色的是输出电压,红色的是电感电流。η是boost的效率,开关电源效率一般是比较高的,如果只是近似计算,效率可以取90%。
2024-11-18 14:01:39
916
原创 【内置电荷泵、多倍压压电蜂鸣器驱动电路DC009S】
DC009S是一款内置多级电荷泵、多倍压压电式蜂鸣器驱动集成电路,在3V直流电源工作下能够获得最大18Vp-p驱动电压来驱动压电式蜂鸣器,极大程度地满足电子产品的提示、报警等需求。该电路的电荷泵备有1倍、2倍、3倍升压切换功能。此外,还具有待机休眠功能,当检测到无输入信号时能够停止内部电路工作,从而延长电池的工作寿命。
2023-11-24 16:40:00
707
1
原创 【433 发射接收源码】
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。示例:一个通用的 433 发射接收 代码模块主循环阻塞发射码如下(示例):中断发射代码如下(示例):2.433接收数据 中断接收代码如下(示例):总结提示:这里对文章进行总结:
2022-08-20 11:38:17
4908
2
原创 ascii 字符
ascii 字符!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~
2022-05-10 14:06:31
201
原创 检测CO一氧化碳传感器故障
#检测CO传感器故障##传感器各种情况波形注意注意-先看传感器各种情况波形-开发板连接带运放电路的传感器 连接ADC 脚 &&充放电电脚(故障检测脚)##以及各种情况的ADC值#硬件连接#软件代码##充电##放电之后等一点时间 检测ADC值uint8_t co_err_check(void){ //检测开路 短路 故障 [在基准AD值650左右情况下] //充电 1.6v-0.6v放电曲线 为正常 |AD值2100 ~ 650
2022-04-14 17:42:04
904
原创 MPU6050华大单片机移植 可跑
int main(void){ float pitch,roll,yaw; //欧拉角 short aacx,aacy,aacz; //加速度传感器原始数据 short gyrox,gyroy,gyroz; //陀螺仪原始数据 short temp; //温度 uint32_t GetData=1,t; App_ClkInit(); MPU_IIC_Init(); MPU_Inits(); Uart_init(); printf("\r\nHC32L136K8T6 8
2021-11-23 09:40:23
301
原创 IIC模拟协议华大单片机移植
IIC模拟协议华大单片机移植本文所用为 HC32L136K8TA使用Gpio10== SDA GpioC11==SCL先把关键性 宏定义说明//引脚声明 #define SCL_PORT GpioPortC#define SCL_PIN GpioPin11#define SDA_PORT GpioPortC#define SDA_PIN GpioPin10//IO方向设置#define PC1out(n) Gpio_WriteOutputIO( GpioPo
2021-11-23 09:35:07
1854
11
原创 NTC热敏电阻计算温度之C代码
NTC热敏电阻计算温度之C代码代码已经验证 温度误差可以接受验证代码已经验证 温度误差可以接受下面展示部分 代码。///< ADC 单次采集 Ntcuint32_t Adc_ReadNtcVal(void){ uint32_t u32AdcRestult; ///< ADC 采样通道配置 Adc_CfgSglChannel(AdcExInputCH21); // ///< 启动单次转换采样 Adc_SGL_Start(); wh
2020-12-10 15:08:00
6581
6
原创 单片机ADC采样算法之卡尔曼滤波
单片机ADC采样算法 之 卡尔曼滤波算法的核心思想是,根据当前的仪器"测量值" 和上一刻的 “预测量” 和 “误差”,计算得到当前的最优量.再预测下一刻的量, 里面比较突出的是观点是. 把误差纳入计算, 而且分为预测误差和测量误差两种.通称为 噪声. 还有一个非常大的特点是,误差独立存在, 始终不受测量数据的影响。下来先了解一个卡尔曼滤波中几个参数的含义:概率(Probability),随即变量(Random Variable),高斯或正态分配(Gaussian Distribution)还有Stat
2020-12-06 20:37:58
12013
18
转载 单片机 DEBUG小组件
在不必要用到GDB调试或者断点调试的场合,通过使用宏定义包装的信息打印,可以快速定位问题所在。系统中定义了以下几种宏定义数据FILE //文件地址LINE //所在行数FUNCTION //函数名字DATE //编译日期TIME //编译时间下面上干货,适用于win和linux,在编译时将下面的代码放入debug.h,其他使用文件包含即可通过 DebugLevel 的宏定义来定义打印级别#pragma once#include #include <stdio.h>#inc
2020-10-13 15:50:47
309
原创 RT-Thread 3.0操作系统运行时出现此错误:thread:tidle0 stack overflow
RT-Thread 3.0操作系统运行时出现此错误 是因为空闲线程内存溢出,适当调整空闲线程栈大小。设置调整 空闲钩子函数栈大小方法 打开rtconfig.h (宏配置) 找到IDLE_THREAD_STACK_SIZE(空闲线程栈空间配置 建议先配置大一点 后面可以适当修改)...
2020-07-28 20:38:06
4615
2
原创 链表-单链表源码
链表单链表无空头源码链表链表种类单链表无空头源码(参考学习)本篇思路都是来自 C3程序猿 讲师分享式学习视频链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作。链表种类***单链表***指的是链表中的元素的指向只能指向链表中的下一个元素或者为空,元素之间不能
2020-07-04 16:21:40
339
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人