- 博客(90)
- 资源 (15)
- 收藏
- 关注
原创 嵌入式系统中的中断向量表的存储位置
中断向量表位于 RAM 中,允许在运行时修改,适合动态中断处理场景。:中断向量表位于 FLASH 中,通常是固定的,适合大多数静态系统或不需要动态更改中断处理的场景。具体使用哪个常量取决于系统的需求。如果需要更灵活的中断处理,可以选择,而对于大多数嵌入式应用,默认使用即可。如何为中断向量表分配一个固定的 RAM 区域在嵌入式系统中,将中断向量表放置在 RAM 中通常需要在链接脚本(Linker Script)中为它分配一个固定的 RAM 区域。
2024-10-25 18:50:22
1061
原创 无源数据TRP,TIS指标好还是有源数据指标好
更好,原因在于无源数据只测量天线本身的性能,而没有考虑设备中的有源元件(如功率放大器、低噪声放大器、滤波器、传输线损耗等)对整体性能的影响。更贴近实际设备的真实表现,两者在评估设备的不同阶段都非常重要。用于优化天线设计,而。
2024-10-22 20:25:45
849
原创 天线有源数据和无源数据有什么区别
和的区别在于是否包含了天线和无线设备中的有源元件(如功率放大器、低噪声放大器等)在测试中的影响。简单来说,有源数据考虑了天线系统的所有电路部分,而无源数据只反映天线本身的性能。
2024-10-22 20:24:47
982
原创 OTA测试在天线暗室中的应用
天线暗室是一种特殊设计的封闭空间,墙壁、地面和天花板都覆盖了吸波材料,能够吸收电磁波,避免反射,从而模拟自由空间的传播环境。OTA测试能够评估无线设备在真实环境中的整体射频性能,因为实际使用场景中设备的无线信号通过天线发射和接收。这种测试能够模拟设备在实际环境中的工作情况,确保其具有良好的无线通信能力,是手机、物联网设备等无线设备认证和优化的重要步骤。这种测试在一个特殊的无反射环境中进行,目的是避免外界信号干扰,并提供理想的测试条件。中通过无线电波对设备进行测试的方法,用于评估无线设备的。
2024-10-22 15:59:11
1061
原创 FDD-B1的BandWidth是多少?怎么定义的?
在无线通信中指的是设备或网络用于传输信号的频率范围。例如,在FDD模式下,每个信道(上行和下行)的带宽独立定义,且根据运营商的频谱分配情况选择具体的带宽配置。
2024-10-22 14:34:13
777
原创 GSM850分几个Channel,为什么这样分?
GSM850的信道划分为128至251的ARFCN编号,总共有124个信道。每个信道间隔200 kHz,并且上下行之间有45 MHz的频率差。这种划分方式是为了最大化频谱利用效率、保持设备设计的简单性、避免与其他技术的干扰,并确保全球范围内GSM标准的一致性。GSM900GSM900的信道划分包括标准GSM900和扩展GSM900频段,共分为**1到124(标准)
2024-10-22 14:00:33
1010
原创 Total Radiated Power,总辐射功率 TRP如何测试
通过在各个方向上测量设备的发射功率并综合计算,可以确定设备在现实使用场景中的信号覆盖范围和整体性能。为了确保测量的准确性,测试系统需要进行校准,通常使用已知功率输出的标准源来校准天线和射频信号分析仪。此外,为了模拟实际使用情况,被测设备可能会以不同的姿态(例如不同手握方式)进行测试,以模拟实际使用环境中的发射情况。的测试是一项关键的天线性能评估过程,主要用于测量无线设备在各个方向上的发射功率总和。测试通常在设备的工作频率范围内进行,比如对于手机设备,可能涉及多个频段(如LTE、5G频段)。
2024-10-22 13:57:44
1164
原创 锂锰电池和锂电池区别
锂锰电池:一次性、不可充电,适合低功耗、长寿命设备。锂离子电池:可充电、适合高能量需求的设备,如电子产品和电动车等。根据应用需求和使用场景的不同,选择锂锰电池或锂离子电池会有不同的优劣权衡。
2024-10-15 20:51:05
1262
原创 USB中使用差分信号的原因
差分信号通过抵消外部干扰、提高信号完整性、减少串扰和支持高速传输,成为现代数据通信中一种非常有效的传输方式。它们的设计理念使其在复杂的电子环境中保持信号的可靠性和准确性。为什么 信号的差异可以用于表示数据?信号的差异用于表示数据的原理主要基于差分信号传输的概念。信号的差异可以有效用于表示数据,因为这种方式依赖于两条线之间的电压差,提供了较好的抗干扰性和信号稳定性,同时支持高效的数据传输。差分信号的设计理念使得在复杂环境中保持数据的准确性和可靠性成为可能。
2024-10-08 17:21:31
1323
原创 Type A和Type B ,Type C的区别
USB Type A:传统的矩形接口,多用于主机端,如电脑、电视等。单向插入,数据传输和供电能力取决于USB标准(如2.0或3.0)。USB Type B:方形接口,主要用于外设端(如打印机、扫描仪)。供电和传输能力同样取决于USB标准。USB Type C:最新的接口设计,小巧、可双向插入,支持高达100瓦的供电和高达40 Gbps的传输速度,广泛用于现代设备中,如智能手机、平板电脑、笔记本电脑等。
2024-10-08 16:47:29
4934
原创 USB 3.0和 USB 2.0的区别
USB 3.0相较于USB 2.0提供了更快的数据传输速度、更高的供电能力、全双工传输支持,并且具有向下兼容性。在用户体验上,USB 3.0在处理大文件、视频传输、快速充电等方面有显著优势。如果你使用需要高性能数据传输或快速充电的设备,USB 3.0是一个更好的选择。
2024-10-08 16:45:42
2967
原创 Keil编译器上Link-Time Optimization的作用
做个记录,明天开始写I2C 总线组成; I2C设备的原理图; I2C 是怎么工作的; I2C 读和I2C 写; 代码分析; 遇到哪些问题;
2024-09-27 19:23:38
302
原创 Keil编译器上Link-Time Optimization的作用是什么
总的来说,Link-Time Optimization 在 Keil 编译器中主要的作用是通过在链接阶段进行全局的优化,提升代码执行效率、减少代码冗余和可执行文件的体积,以及优化内存和计算资源的使用。:通过将各个编译单元的优化提升到链接阶段,LTO 可以让编译器在全局范围内执行更多复杂的优化技术,例如跨模块的函数内联、指令调度、数据流分析等。:通过全局分析,LTO 可以生成更加优化的代码路径,减少不必要的函数调用、分支和其他运行时开销,从而提高程序的执行速度。
2024-09-27 19:07:02
510
原创 字节不对齐导致的HardFault
假设你有一个32位(4字节)的整数,而它的内存地址需要是4的倍数才能保证对齐访问(即地址为0x0000、0x0004、0x0008等)。在Cortex-M0这种不支持非对齐访问的处理器上,上面的代码将会导致HardFault,因为处理器期望32位数据存储在4字节对齐的地址(即地址是4的倍数)。非对齐访问造成的HardFault并不只限于Cortex-M0单片机,其他基于ARM架构的处理器也可能出现类似的问题。在这个例子中,地址 0x1000 是4的倍数,因此这是一个对齐的访问,处理器可以高效地读取数据。
2024-09-27 10:37:34
1271
原创 NMOS的原理
当G极电压足够高且D极电压较高时(V_GS > V_th 且 V_DS较大),通道饱和,电流达到最大值,进一步增大V_DS不会显著增加电流。在饱和区,NMOS用于放大器等需要稳定电流输出的场合。:当G极电压高于阈值电压且D极电压较低时(V_GS > V_th 且 V_DS较小),通道完全打开,电流线性地随着V_DS增大而增大。此时NMOS像一个可变电阻器。:当G极电压低于阈值电压(V_GS < V_th),NMOS处于截止状态,通道未形成,S极和D极之间没有电流流动。
2024-09-26 20:18:54
2712
原创 不吐不舒服斯基,记一下VC6的编译出错问题 unexpected end of file found
今天下午在改一个程序,加了几句代码之后编译一下,报了错误:报了错:fatal error C1004: unexpected end of file found根据经验看是少了大括号之类的,仔细看了下好像也没有少,看了至少五六遍,没有少啊,加入的代码移了位置导致的?各种换位置验证。搞了大概有一个小时了(其实没有,只是你知道在这种情况下好像感觉搞了很久)最后一行一行去删掉编译,我真的 很庆幸程序不是很大,编译时间不需要太久,要不真的想骂死Microsoft VC6.0的工程师的心都有了。
2021-02-10 16:18:31
1575
原创 sigslot 库的用法
这里还是网友的一个经典例子,light和switch例子#include <iostream>#include "sigslot.h"class CSwitch{public: sigslot::signal0<> m_clicked;};class CLight:public sigslot::has_slots<>{public: CLight(bool s) { m_b_state = s; DisplayState(); }.
2021-01-25 03:55:33
571
原创 GD32 JTDI脚的复用问题
项目上有用到JTDI这个脚,复用做GPIO当时没有注意,直接用做了GPIO,一直无法控制这个Pin最后看了SPEC,发现这个默认是JTDI脚Default JTDI如果要用做GPIO的话(也就是PA15)的话要用REMAP的方式,这个顺序不要变,之所以这么说因为有网友在STM32上验证说:必须先打开时钟再Disable才可以 rcu_periph_clock_enable(RCU_AF); rcu_periph_clock_enable(RCU_GPIOA); gpi.
2021-01-21 11:58:14
2885
7
原创 GD32 ADC检测电压
GD32的参考电压在规格书上没有查到,但是由于GD32 和STM32的“某种关系“。。。STM32 的内部参考电压是1.2V,所以GD32的可以想象也是1.2V。(最终通过计算发现确实应该是1.2V)
2021-01-21 11:46:21
11684
原创 OninitDialog和OnCreate
如果你想在窗口创建的时候,指定哪些控件显示,哪些控件不显示,那么选择重写OninitDialog,它是CDialog的成员函数CDialog::OnInitDialogMSDN示例代码:BOOL CSimpleDlg::OnInitDialog(){ CDialog::OnInitDialog(); // TODO: Add extra initialization here m_cMyEdit.SetWindowText(_T("My Name")); // Initia.
2021-01-12 22:34:56
567
原创 MFC用户线程的创建以及退出
公司的生产测试工具用了N多年了。N多年的是多少年?不知道是不是现在的一些小同学还不知道VC6.0(还不知道可能不妥,仅仅调侃,无意冒犯,应该说是没用过),生产测试工具当时还是用VC6.0开发的,感觉这和现在去打仗用的还是清朝的“神威无敌大将军”一样。所以,我这个起步VC6.0,但是又半路出家的程序猿再恶补一下当年丢下的东西。工具的UI和功能其实都很简单,但是要优化的地方也是很多。今天只说一下涉及到UI线程也就是界面线程部分,因为真正的测试工具的功能比多,这里仅仅用demo的方式记录一下自己恶补的一些
2021-01-11 16:47:42
950
6
原创 如何确认目前的你所用的MYSQL数据库的引擎
如何确认目前的你所用的MYSQL数据库的引擎看你的mysql现在已提供什么存储引擎:mysql> show engines;看你的mysql当前默认的存储引擎:mysql> show variables like '%storage_engine%';你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):mysql> show create table 表名;mysql> show variables like '%sto...
2020-12-11 18:02:55
189
原创 将中断向量表定位到RAM中,从RAM中引导执行中断服务
最近在解决一个问题,看到一篇代码,将中断向量表定位到RAM中,代码所在的文章在这里:https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2017/05/09/emu_e110_-_potential-i2Pn大家都知道,MCU的中断向量表通常是在flash的0x00000000地址,这一点从你编译...
2020-04-27 11:53:05
6061
原创 μcos-II的任务调度
看到了一位网友的博客,感觉说的比较好,就Copy过来了主要是之前知道任务调度是调用OS_Sched,但是没有看到这个函数的具体实现,或者说看过这个实现没有意识到是利用软中断来对当前任务做现场保存的。这里对接上了,昨天晚上还嘀咕着是不是这么做的,看来果然是啊。//任务调度//uCOS-II总是运行进入就绪态任务中优先级最高的那一个。确定哪个任务优先级最高,下面该哪个任务运行了...
2020-03-27 09:51:15
643
原创 MCU 跳入到SystemInit之后就不往下走了
刚在测试一个USB的小例子的时候,下载好了之后,调试发现跑到startup_gd32e10x.s的SystemInit之后就不动了。;/* reset Handler */Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT...
2020-03-14 17:46:41
1853
原创 system_gd32e10x.c分析
/*! \brief setup the microcontroller system, initialize the system \param[in] none \param[out] none \retval none*/void SystemInit (void){ /* FPU settings */ /* 如果要使用户...
2020-03-14 14:00:49
3382
原创 SPI + DMA
说一说DMA是什么东西,DMA本身的意思是Direct Memory Access,直接存取访问,可以看到这只是一种存取方式,或者说读写方式,或是直白点来说,就是直接读取,说的太直白了,感觉这个DMA这个词在脑子里感觉有点SB了,就这么一个破烂玩意儿起这个这个类似遇到DNA一样的玩意儿。直接存取或者直接读取写入什么呢?当然是数据了,从哪里读,或者往哪里写呢?这个问题好,后面会说到读取的位置...
2020-03-08 21:58:45
12480
4
原创 SPI Flash读取操作
今天看到有人在问SPI flash读取数据的方法,为什么这样读取?先给出一个函数,SPI的读取函数:/*! \brief read a block of data from the flash \param[in] pbuffer: pointer to the buffer that receives the data read from the flash...
2020-03-06 21:04:36
6349
12
原创 GD32 starup_gd32e10x.s分析
;/*!; \file startup_gd32e10x.s; \brief start up file;; \version 2017-12-26, V1.0.0, firmware for GD32E10x;*/;;/*; Copyright (c) 2017, GigaDevice Semiconductor Inc.;; ...
2020-03-05 14:43:15
1203
原创 keil error:#8:missing closing quote 处理
在KEIL中Options for Target 'Flash' -> C/C++ -> Misc Controls添加“--locale=english”。原因:MDK5采用UTF-8,提示很多个这样的error:#8:missing closing quote 的错误信息。提供以下几种方式解决:第一种: 把报错提示的文件(包括.c和对应.h)用Notep...
2020-02-14 10:37:26
1075
原创 python 获取 指定文件下的所有文件名的绝对路径
import osresult = []def get_all(path): dir_list = os.listdir(path) for i in dir_list: sub_dir = os.path.join(path,i) if os.path.isdir(sub_dir): get_all(sub_dir)...
2019-12-31 10:49:34
2414
原创 Python使用FPDF导出字体 widths array
新建FontDump工程,import FPDF库。File ->Setting->Projcet:FontDump->Projcet Interpreter->Double click pip 新建FontDump.py文件,导入库FPDF 怎么知道FPDF的所有函数或者说方法呢?看下刚刚下周的库到我们的工程目录下D:\Python\FontDump\env\Lib\...
2019-12-07 17:43:20
825
原创 libharu-RELEASE_2_3_0编译
下载最新的libharu :http://libharu.org/ 网址贴下,可以去下载最新的版本,我这里是2_3_0的版本; 编译libharu要用到zlib和libpng,所以我也从对应的官网上下载:zlib(http://www.zlib.net/),libpng(http://www.libpng.org/pub/png/libpng.html) 先编译zlib,在zlib-1.2.1...
2019-12-05 09:27:05
861
原创 zlib解压 被压缩的PDF(关键字FlateDecode)
PDF被压缩了,但从网上看这个压缩算法就是zlib的压缩算法,下面的乱码就是压缩导致的乱码,现在需要把这些乱码复原%PDF-1.7%溷弦4 0 obj<</Length 3 0 R/Filter/FlateDecode>>streamx渆QMK聾}&跉MIb郦Q鰳娵R刍??焱zR<?|3狣B6?颿f?滕,鞃?珈毵辊纡拶迨鷚#Ef? B?]蔑...
2019-12-04 17:29:49
5290
原创 Stack Overflow无法提交问题
StackOverflow无法提交问题,是因为缺少某些插件按照这位网友的方案,可行为什么会出现“Stack Overflow requires external JavaScript from another domain, which is blocked.."?...
2019-11-30 12:40:35
561
HF_FullRAM_Vect_LG.zip
2020-04-27
GD32E10x_User_Manual_CN_V1.0.pdf
2020-03-14
一个关于注册表和串口COM操作的小程序
2018-10-21
Si4438C datasheet
2018-10-08
IAR7.x所需要的,IAR 8.2可以尝试破解文件
2017-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人