- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 Jlink swd 识别不到芯片 - 速率设置太高
摘要:JLink通过SWD接口调试芯片时,若无法识别可能因驱动异常、接线错误、速率过高或硬件故障导致。其中,SWD速率过高会导致信号失真(阻抗失配、线缆质量差)、超出芯片限值或电源不稳等问题。SWD是ARM设计的精简两线制调试接口(SWDIO+SWCLK),相比JTAG具有引脚少、低功耗优势,协议含连接初始化、数据传输(8位请求帧+36位响应帧)等阶段,典型速率1-50MHz,需注意时序参数(如建立/保持时间)。调试时需确保速率匹配目标芯片规格,并优化硬件信号完整性。
2025-05-24 20:40:42
532
原创 晶振无法起振导致系统无法正常启动问题分析与解决
摘要:本文分析了STM32板卡无法启动的问题,定位为LSE晶振(32.768kHz)不起振所致。通过调试发现卡在等待LSE就绪函数处,示波器测量确认无正常波形输出。最终查明是晶振外围电路的负载电容由要求值(10-30pF)误贴为100pF导致。从晶振工作原理解释了负载电容对振荡频率的关键影响,过大电容会显著降低频率甚至阻止起振。更换为10pF电容后问题解决,指出低速晶振对电容匹配的敏感性高于高速晶振。
2025-05-24 20:20:59
961
原创 【便于开发的脚本】- fast_create_ch_files.bat,用于在目标路径下生成文件夹和文件,并将想要预定的内容写入文件中
嵌入式开发就需要频繁的需要在某个文件夹中创建.c和.h文件,并在.h文件中添加预处理命令,这种重复操作对于大型项目来说,就相对麻烦了,所以就将这种重复的操作抽象出来,使用一个脚本来代替此类操作。在目标路径下创建文件夹,文件夹的文件名为传入的文件名,同时在此文件夹中创建带有该文件名的。文件中添加预处理指令。文件,最后会在生成的。
2024-08-18 17:58:38
234
原创 解决keil中调用lpc库函数出现的Undefined symbol OscRateIn (referred from clock_17xx_40xx.o).报错问题
分析:LPC1778芯片最高主频为100MHZ,主板采用的主频是12MHZ的外部晶振,使用32768HZ的低频时钟为RTC时钟,而移植过来的库中并没有定义相关该变量为了适配更多的板子。(具体观看原理图,看看接入的外部晶振是多少进行修改变量值)。解决:在系统的sysinit.c或者system_LPC177x_8x.c(或者报错地方添加都Ok)中添加该变量的定义并赋值。原因:主要是系统没有找到该变量的定义。
2023-10-07 17:56:50
322
原创 SysTick 定时器详细学习笔记并兼容FreeRTOS
SysTick 是一个 24 位的倒计数定时器,当技术到 0 时,会产生 “滴答” 并 将从 RELOAD 寄存器中自动重装载定时初值。只要 SysTick 控制及状态寄存器中的使能位没有清 0,SysTick 定时器就会一直运行。
2023-02-23 15:33:35
3697
原创 I2C 通讯协议-学习笔记
I2C(芯片间)总线接口连接微控制器和串行 I2C 总线。它提供多主机功能,控制所有 I2C 总线特定的时序、协议、仲裁和定时。I2C 模块有多种用途,包括 CRC 码的生成和校验、SMBus(系统管理总线-System Management Bus)和 PMBus(电源管理总线-Power Management Bus)。I2C(Inter IC)总线:一个简单的双向两线总线,实现有效的IC之间控制,使硬件效益最大电路最简单。I2C 属于串行、半双工的同步通信方式。
2022-12-10 21:10:49
1163
原创 【解决】Keil中创建工程时出现-arm_math.h(xxx): warning: #xxxx-D: unrecognized GCC pragma错误
【代码】【解决】Keil中创建工程时出现-arm_math.h(xxx): warning: #xxxx-D: unrecognized GCC pragma错误。
2022-11-18 10:56:10
3562
2
原创 STM32 - GPIO 详解
通过3. GPIO 内部结构GPIO 是统用 I/O 口,对于 stm32 来说,I/O 的输入与输出需要一定的寄存器来进行一些控制。GPIO 口的设置在 stm32 固件库里有直接设置的函数,可以调用。初始化 GPIO 前必须使能 GPIO 的时钟。
2022-11-02 14:58:04
7075
1
原创 STM32 - 串口(USART)通信详解
在 STM32 的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准 NRZ 异步串口数据格式的外部设备之间进行全双工数据交换。USART(Universal Synchronous Asynchronous Receiver and Transmitter)是一个串行通信设备。它利用分数波特率发生器提供宽范围的波特率选择。USART 支持同步单向通信和半双工单线通信。
2022-10-30 20:59:25
1849
原创 linux系统编辑入门-库(静态库和动态库)的详解、制作与使用。
静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序可共享使用库的代码。
2022-08-15 14:14:32
1251
原创 【LeetCode】|【 C++学习】2.两数相加 - 链表理解+NULL、nullptr 、0 的区别
文章目录题目一、所需知识二、使用步骤1.引入库2.读入数据总结题目\quad \quad给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转.
2022-05-29 11:08:06
796
原创 【LeetCode】|【 C++学习】1.两数之和
文章目录题目一、所需知识二、解题三、扩展总结题目\quad \quad给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。.
2022-05-25 19:13:31
156
原创 VS2022获取工具和功能找不到visual stdio安装程序解决办法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matp.
2022-05-05 16:32:40
15730
3
原创 解决---设备“VMnet0”上的网桥没有运行。该虚拟机无法与此主机或网络上的其他主机进行通信。 无法连接虚拟设备“Ethernet0”。
问题描述:\quad \quad由于之前安装过VMware,但是卸载后从新安装导致虚拟机的虚拟网络编辑器没有桥接模式,即只有网络适配器网络类型VMnet1Host-only(仅主机)VMnet8NAT\quad \quad 这导致 你所安装的虚拟机( 如 Ubuntu) 就不能与你的电脑再同一个网段,也就是虚拟机与你的电脑不能够互相ping通,你的虚拟机里面就不能够上网。而如何从新安装好桥接模式就是我们所迫切需要解决的问题。原因分析:主要是我们之前安装过VM
2022-04-06 23:25:45
31639
67
基于BP神经网络的二阶离散系统 pid 参数自整定的matlab(simulink)仿真。
2022-05-27
神经元网络及其自适应PID算法控制---BP神经网络
2022-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人