- 博客(37)
- 收藏
- 关注
原创 Source Insight 安装与高效使用指南:嵌入式代码开发神器
本文详细介绍嵌入式开发必备工具 Source Insight 的安装流程、核心功能及实用技巧,帮助开发者快速掌握代码浏览与分析方法,提升项目开发效率。
2025-03-11 09:33:35
431
原创 采用jink烧录器烧录工程文件——简化办法
传统使用 Keil5 IDE 进行单片机烧录需要安装完整开发环境、注册机和芯片包,流程繁琐。本文将介绍如何通过 SEGGER 官方工具链,仅需 HEX 文件加烧录器即可实现高效烧录,大幅简化操作流程。以便于远程现场非技术人员电脑进行程序更新。(SEGGER 是 J-Link 烧录器的制造商,为其提供技术支持和相关软件配套;而 J-Link 烧录器是 SEGGER 公司的一款重要产品)
2025-03-10 14:00:16
424
原创 bootloader学习笔记
你需要重新的让这个机器人接收学习一下,这个时候你就不需要重新教它激活,启动,说话,运动这些基础的了,因为在之前,你已经含辛茹苦的把他带大给它刷了boot秘籍,你现在需要把他之前接收的“指令秘籍”(应用程序),擦除掉,用同样的办法把这一版会写PPT的“指令秘籍”(更新的应用程序)填充烧录进入就好了。应用程序的烧录起始地址是就是通过boot程序指定跳转到具体某一个地址的。机器人接收了你传输的秘籍之后,会说话,会动,此时你想让他替你上班,显然它还不行,因为你给它的秘籍只是基础,一分价钱一分货的道理懂得懂得。
2025-02-20 21:55:47
1039
原创 U盘弹出失败?教你快速解决!
3、结束占用进程把搜索出来的所有结果都右键点击,然后选择“结束进程”。注意,有些进程可能无法立即结束,再次点击右键时可能会变成灰色,这是正常的。2、找到占用设备的文件接下来,确定你要弹出的U盘盘符。比如,如果你的U盘是E盘,就在CPU这栏中搜索E:\。这样会显示出所有占用该设备的进程。4、安全弹出设备现在,你可以安全地弹出U盘了。右键点击U盘的图标,选择“弹出”或者“移除”,这次应该就不会再失败了。1、打开任务管理器 然后在性能选项卡中,选择CPU,再点击右上角的三个点(···),选择资源监视器。
2025-02-06 11:32:56
353
转载 在 VM 虚拟机中安装 Windows XP 操作系统
Windows XP是由微软公司开发的操作系统,于2001年10月发布。它是家族中的一个版本,是Windows 2000的继任者。Windows XP提供了稳定和可靠的操作环境,并支持各种硬件设备和软件应用。它具有良好的兼容性,可以运行许多旧版本的。
2025-02-05 15:26:30
385
原创 VMware虚拟机安装
因为需要使用CodeWarrior编译环境IDE比较老,所以下载一个虚拟机来装一个WINXP系统用来下载CodeWarrior,这里记录一下步骤。这里VMware虚拟机资料比较多,所以就安装VMware虚拟机,花20分分钟在网盘下载一个。这里再吐糟一下百度网盘的限速。
2025-02-05 10:02:13
238
原创 一天看懂一个原理图(基础day5)
为使光耦正常工作,会给 1、2 脚施加合适电压以满足正向电流需求。通常,当正向电流达到一定程度,如达到典型测试条件下的值时,光耦能正常导通工作。输入正向电压 VF 在 IF = 10mA 时,典型值为 1.25V ,这表明在该电流下,1、2 脚间电压差约为 1.25V 能保证发光二极管正常工作。(TLP291S数据手册)。press_alarm与地导通。单片机检测该引脚状态即可。
2025-01-24 11:19:50
252
原创 __IO记录
编译器在优化代码时,可能会为了提高性能而对变量的访问进行优化。例如,如果一个变量在短时间内被多次读取,编译器可能会将其值缓存在寄存器中,后续的读取操作就直接从寄存器中获取,而不再访问该变量的实际内存地址。但在嵌入式系统中,有些变量的值可能会被硬件自动修改,或者被其他线程、中断服务程序修改,如果编译器进行了优化,就可能导致读取到的是过时的值。,它的主要作用是告诉编译器不要对使用该修饰符的变量进行优化,保证每次对该变量的读写操作都是直接访问其对应的内存地址,而不是使用寄存器中的缓存值。从上述定义可以看出,
2025-01-23 11:18:05
226
原创 .hex 文件和.bin 文件的区别?
我们在使用 ISP 软件进行程序下载的时候,一般使用的是.hex 文件,由 ISP 软件解析.hex 文件包含的地址信息来实现程序下载。而我们在进行 BootLoader 升级的时候,一般使用.bin 文件,地址由 Bootloader 程序指定。文件是一种二进制文件格式,它包含了以二进制形式存储的数据或程序代码。文件是一种文本格式,它以 ASCII 码的形式表示二进制数据,并且包含了地址信息和校验信息。.hex也是一种常用的存储可执行代码的文件格式,与。文件通常包含了可以直接被处理器执行的机器码。
2025-01-22 18:22:19
169
原创 一天看懂一个原理图(基础day4)4-20ma信号输入
输入电流4ma * R118 = 0.004 X 160 = 0.64v。输入电流20ma * R118 = 0.02 X 160 = 3.2v。输入电流10ma * R118 = 0.01 X 160 = 1.6v。
2025-01-22 14:05:02
95
原创 一天看懂一个原理图(基础day1)
D2(3AV99)的作用是钳位保护,当 “V Sense” 端的电压超过 + 3.3V 时,D2 反向导通,将电压钳位在 + 3.3V 左右,防止过高的电压损坏后续可能连接的对电压敏感的电路元件。“voltage” 是输入电压端,电容 C2(104/50V,即 0.1μF,耐压 50V)接地,起到滤波作用,可去除输入电压中的高频噪声,使输入到后续电路的电压更加稳定。在电路中,阻抗(Impedance)是对电路中电流所起的阻碍作用的一种度量,用符号 Z 表示,单位是欧姆(Ω) ,它是一个复数,包含。
2025-01-22 10:37:32
394
原创 记录一个keil清除编译文件的功能
在工程中新建一个文件将下面代码粘贴到里面,把TXT文件类型修改为.bat类型。双击keilkill.bat文件就可以将编译文件清除,减少内存的占用。
2024-12-30 11:15:46
219
转载 PID从0到1
PID,听着就不明觉厉,一直只知道它是一个具备调节功能的算法,今天来看看怎么一回事。在了解PID之前可能需要提前去了解两个概念:积分和微分。
2024-12-24 17:58:14
54
原创 c语言关键字-inline
注意:关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。尽量将函数的调用展开为函数体的实际代码,从而消除函数调用的开销。关键字在C语言中引入是为了提高函数的执行效率。是提高小型函数的执行效率。与普通函数调用相比,
2024-12-19 15:54:10
126
原创 上拉电阻的原理和作用
实验发现让单片机引脚输出5v高电平,假如接一个100欧姆电阻,电压会变成3.8v。为什么上面接一个5v,和一个100欧姆电阻,中间电压会变大?第二个问题:因为这个5v,和单片机输出的5v,好比一个电源,将电源内阻和100欧姆电阻并联,减小阻止。当单片机引脚为开漏输出时,输出的电压是不确定的,因为此时引脚相当于接了两个无穷大的电阻。当外接一个上拉10k电阻时,上面两个电阻并联阻值为10k,下面无穷大,所以输出5v高电平。总结一句话:上拉电阻就是并联一个电阻,降低阻值增加电路驱动能力。
2024-12-18 09:23:55
389
原创 开关电源基本工作原理
当12V开关电源导通瞬间,电感为了阻止电流增加,会产生和电源方向相反的电压,电感会分得部分电压,因此输出电压第一时间就不会达到12v,随着时间增加电感电压下降到0 v形同导线,输出电压逐渐达到12v。当12v电源开关突然截止,回路中缺少电源,电感为了阻止电流减少,近似回路电源给回路供电,因此输出电压第一时间就不会达到0v,随着时间增加电感能量消散,输出电压逐渐达到0v。若12v电源开关反复快速导通,截止。输出电压会稳定在一个固定的电压。电路中的电容起到储能,滤波作用没有电容波形会很尖锐。
2024-12-18 09:17:56
454
原创 单片机最小系统设计
32.768KHZ晶振产生的振荡信号经过内部分频器进行15次分频后可以得到1HZ/秒的信号。NRST低电平(外部复位)、窗口看门狗复位、独立看门狗复位、软件复位、低功耗管理复位。芯片内部VSS_X都是连接的,VDD_X都是连接的。因为内部时钟精度不高,误差大,所以外置一个精度高的外部高速晶振8MHZ。启动电路:下面可以跳帽手动的选择BOOT引脚高低。复位有三种形式:系统复位、上电复位、备份区复位。电源模块、复位电路、晶振模块、下载模块。
2024-12-02 15:58:39
425
原创 单片机裸机常用的时间片轮训系统
基本逻辑就是每ms执行一次中断,将数组的数据都减1,在main.c里面的while{1}里,循环的判断数组的数据什么时候减到为0,等于0的立马给填充回原先设定的时间。现在再想处理最初的30s延时功能,只需要在1s的条件下,设定一个标志累加30次,到30的时候清除,去打开继电器就好了。那我学习初期遇到一种问题就很棘手,比如我想在ADC采集温度到88度时,打开一个继电器,延时30后,打开第二个继电器。我学单片机初期的时候是没有接触过什么操作系统的,后续接触过FreeRTOS,了解过一下时间片轮训和抢占式。
2024-11-28 18:25:45
502
转载 关于单片机启动流程和原理(存储认识)
一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。一般BOOT0和BOOT1跳线都跳到0(地),在ISP下载的情况下,BOOT0=1,BOOT1=0,下载完成后,把BOOT0的跳线接回0,也就是BOOT0 = 0,BOOT1 = 0;Step3:程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动。
2024-11-25 11:17:51
336
原创 STM32F4独立看门狗
IWDG:(Indpendent Watch Dog)独立看门狗,本身是一个定时器(TIM,SysTick)类似,当软件程序故障导致程序跑飞,这个时候就要及时复位芯片,独立看门狗递减计数,计数到0没有执行一个喂狗操作,这个时候就会导致芯片复位。IWDG_PR 和 IWDG_RLR 寄存器具有写访问保护。若要修改寄存器,必须首先对 IWDG_KR 寄存器写入代码 0x5555。而写入其他值则会破坏该序列,从而使寄存器访问保护再次生效。的值就会被重载到计数器,从而避免产生看门狗复位。)也会启动写保护功能。
2024-11-20 14:00:32
236
原创 关于GD32F407单片机输出PWM实际问题
这我看的云里雾里,但大概理解是这3位是配置PWM输出模式的,常了解的有PWM0,PWM1和有效电平的高低有关系。但是我现在需要处理的是同时配置2路,那么自然而然我先把通道2,3对应的这3位都配置为000,然后通过位操作,一起都配置为111,或者110不就成了。从上面可以看出来,通道控制寄存器0,包含了通道0,和通道1两个通道的配置。这个函数是底层已经封装好的配置PWM通道输出模式的函数,不会写我还不会抄吗?分别用到通道2和通道3。既然关于只关于通道的不同配置,那肯定先看通道控制寄存器有什么说法。
2024-11-18 14:58:45
748
原创 单片机关于485调试时,自动进入接受中断原因以及处理办法
我在调试GS32F407单片机串口接收中断的时候,遇到了一个很奇怪的问题,我配置485默认为接收模式,在切换模式发送数据时,会导致不停进入接收中断服务函数。后来自己检查软件,没发现问题。找人问,还得是软硬都懂的工程师干嵌入式好。发现我现在用的485芯片接收引脚外围居然是下拉电阻。把这个R112电阻去掉,配置成上拉输入就好了。如果有上拉电阻,配置为浮空输入就可以。一般不会有下拉电阻。
2024-11-15 14:51:26
443
转载 关于GD32F407基本定时器配置问题
我配置完基本定时器后,让运行灯按照一秒的频率闪烁,但实际效果是频率慢。频率涉及到时钟,所以去看时钟树。从时钟树可知,定时器1、2、3、4、5、6、11、12、13是在APB1总线下面,定时器0、7、8、9、10是在APB2总线下面。在时钟树下面有句话关于TIMER时钟,既然提了,就查来看看。好好好,套娃是吧,找到 RCU_CFG1寄存器第一句话就是RCU_CFG0,那能怎么办继续看看怎么回事。理论分析:下面结合具体时钟树和上面的内容来看看怎么回事不÷就不×÷2×2。
2024-11-01 16:20:00
416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人