
C语言
C基础
GQli2048
123
展开
-
ADC采集数据加权处理
这两个加权系数的选择是与右移 11 位操作相配合的。加权处理可以对数据起到一定的抗干扰和平滑作用。原创 2025-04-22 14:24:10 · 229 阅读 · 0 评论 -
Source Insight 安装与高效使用指南:嵌入式代码开发神器
本文详细介绍嵌入式开发必备工具 Source Insight 的安装流程、核心功能及实用技巧,帮助开发者快速掌握代码浏览与分析方法,提升项目开发效率。原创 2025-03-11 09:33:35 · 574 阅读 · 0 评论 -
bootloader学习笔记
你需要重新的让这个机器人接收学习一下,这个时候你就不需要重新教它激活,启动,说话,运动这些基础的了,因为在之前,你已经含辛茹苦的把他带大给它刷了boot秘籍,你现在需要把他之前接收的“指令秘籍”(应用程序),擦除掉,用同样的办法把这一版会写PPT的“指令秘籍”(更新的应用程序)填充烧录进入就好了。应用程序的烧录起始地址是就是通过boot程序指定跳转到具体某一个地址的。机器人接收了你传输的秘籍之后,会说话,会动,此时你想让他替你上班,显然它还不行,因为你给它的秘籍只是基础,一分价钱一分货的道理懂得懂得。原创 2025-02-20 21:55:47 · 1090 阅读 · 0 评论 -
在 VM 虚拟机中安装 Windows XP 操作系统
Windows XP是由微软公司开发的操作系统,于2001年10月发布。它是家族中的一个版本,是Windows 2000的继任者。Windows XP提供了稳定和可靠的操作环境,并支持各种硬件设备和软件应用。它具有良好的兼容性,可以运行许多旧版本的。转载 2025-02-05 15:26:30 · 427 阅读 · 0 评论 -
__IO记录
编译器在优化代码时,可能会为了提高性能而对变量的访问进行优化。例如,如果一个变量在短时间内被多次读取,编译器可能会将其值缓存在寄存器中,后续的读取操作就直接从寄存器中获取,而不再访问该变量的实际内存地址。但在嵌入式系统中,有些变量的值可能会被硬件自动修改,或者被其他线程、中断服务程序修改,如果编译器进行了优化,就可能导致读取到的是过时的值。,它的主要作用是告诉编译器不要对使用该修饰符的变量进行优化,保证每次对该变量的读写操作都是直接访问其对应的内存地址,而不是使用寄存器中的缓存值。从上述定义可以看出,原创 2025-01-23 11:18:05 · 265 阅读 · 0 评论 -
CRC校验使用记录
【代码】CRC校验使用记录。原创 2025-01-23 10:03:54 · 232 阅读 · 0 评论 -
.hex 文件和.bin 文件的区别?
我们在使用 ISP 软件进行程序下载的时候,一般使用的是.hex 文件,由 ISP 软件解析.hex 文件包含的地址信息来实现程序下载。而我们在进行 BootLoader 升级的时候,一般使用.bin 文件,地址由 Bootloader 程序指定。文件是一种二进制文件格式,它包含了以二进制形式存储的数据或程序代码。文件是一种文本格式,它以 ASCII 码的形式表示二进制数据,并且包含了地址信息和校验信息。.hex也是一种常用的存储可执行代码的文件格式,与。文件通常包含了可以直接被处理器执行的机器码。原创 2025-01-22 18:22:19 · 188 阅读 · 0 评论 -
PID从0到1
PID,听着就不明觉厉,一直只知道它是一个具备调节功能的算法,今天来看看怎么一回事。在了解PID之前可能需要提前去了解两个概念:积分和微分。转载 2024-12-24 17:58:14 · 84 阅读 · 0 评论 -
循环队列的实际运用
循环队列的要素: 在头文件构造循环队列结构体。 上面是从对尾写入队列上面是从队首读出数据原创 2024-12-24 15:34:15 · 250 阅读 · 0 评论 -
工作常遇到的位运算(持续补充中)
【代码】工作常遇到的位运算(持续补充中)原创 2024-12-23 20:04:37 · 286 阅读 · 0 评论 -
单片机定时,延时执行功能设计
延时,倒计时功能。原创 2024-12-19 19:28:43 · 402 阅读 · 0 评论 -
c语言关键字-inline
注意:关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。尽量将函数的调用展开为函数体的实际代码,从而消除函数调用的开销。关键字在C语言中引入是为了提高函数的执行效率。是提高小型函数的执行效率。与普通函数调用相比,原创 2024-12-19 15:54:10 · 141 阅读 · 0 评论 -
单片机裸机常用的时间片轮训系统
基本逻辑就是每ms执行一次中断,将数组的数据都减1,在main.c里面的while{1}里,循环的判断数组的数据什么时候减到为0,等于0的立马给填充回原先设定的时间。现在再想处理最初的30s延时功能,只需要在1s的条件下,设定一个标志累加30次,到30的时候清除,去打开继电器就好了。那我学习初期遇到一种问题就很棘手,比如我想在ADC采集温度到88度时,打开一个继电器,延时30后,打开第二个继电器。我学单片机初期的时候是没有接触过什么操作系统的,后续接触过FreeRTOS,了解过一下时间片轮训和抢占式。原创 2024-11-28 18:25:45 · 519 阅读 · 0 评论