- 博客(201)
- 资源 (83)
- 收藏
- 关注
原创 MOS管——PMOS和NMOS
本文介绍了半导体器件的基本原理。首先解释了电流方向与电子运动方向的区别,指出电流方向是人为规定的正电荷运动方向。其次详细阐述了PN结的形成原理:P型半导体含空穴,N型半导体含电子,二者结合形成PN结,具有单向导电性(P接正、N接负导通)。最后分析了MOS管的结构和工作原理:NMOS和PMOS通过栅极电压控制导通,其中箭头方向代表负电荷流向(NMOS向内,PMOS向外)。文章还对比了三极管与MOS管的控制方式和符号含义差异,强调虽然某些箭头方向相同,但物理含义完全不同。这些基础知识是理解半导体器件工作原理的关
2025-11-28 20:31:36
854
原创 CAN(三)——过载帧
过载帧是CAN控制器硬件自动触发的流量控制机制,完全无需MCU核心参与处理。硬件在三种情况下(接收器繁忙、间歇场异常、界定符错误)会立即发送过载帧,整个过程(标志发送、众裁同步、界定符发送)都在几个位时间内完成。MCU软件仅负责事后诊断和处理过载原因,如优化中断程序或启用DMA。这类似于邮差分拣员自动暂停投递而不打扰工作人员,过载帧确保实时性,软件则解决潜在性能问题。
2025-11-04 15:39:24
863
原创 CAN(二)——错误帧
摘要:CAN控制器在检测到位错误、填充错误、CRC错误、格式错误或ACK错误时会自动发送错误帧。错误帧的实现完全由硬件完成,包括发送错误标志(主动状态发6个显性位,被动状态发6个隐性位)和错误界定符(8个隐性位)。程序员可通过状态寄存器和错误计数器监控总线状态。该机制通过硬件级快速响应确保CAN总线的可靠通信,任何错误都会被立即发现并纠正,使发送节点自动终止当前帧并重发。(149字)
2025-11-04 15:36:33
1075
原创 RF射频AGC是什么
射频AGC(自动增益控制)是通信系统中的关键技术,通过闭环反馈自动调节射频前端增益,使输出信号保持稳定。其核心功能包括稳定信号电平、防止过载失真、优化信噪比。典型工作原理包含检测、比较、误差生成、控制、增益调整五个环节。关键参数包括动态范围、响应时间、参考电平等。广泛应用于无线通信、雷达、卫星通信等领域,常与中频AGC配合使用。射频AGC如同"智能音量旋钮",确保设备在各种信号强度下都能获得稳定可靠的信号处理能力。
2025-08-01 09:41:02
1428
原创 驱动——IST8308磁力计
(Magnetic、M-Sensor)也叫地磁、磁感器,可用于测试磁场强度和方向,定位设备的方位,磁力计的原理跟指南针原理类似,可以测量出当前设备与东南西北四个方向上的夹角。如果设置了中断指示,则中断到了,MCU进中断,读STAT寄存器的DRDY,如果是1,则数据准备完毕,可读取,读取数据寄存器即可。结果result(uT) = 读取的原始数据*
2025-04-01 14:56:48
681
原创 NXP RT1176(一)——二级BootLoader开发(安全引导加载程序SBL)
本文Windows下开发:编译方法(以下三种选其一即可): (4)FLASH换型号(5)SDRAM暂时没开(6)其他均默认 上面就是界面话修改源码,开关一些宏定义,代码确定了就可以编译了。这里使用MDK编译。(1)工程创建 还是这个终端,键入命令scons --ide=mdk5 : 这样这个目录 sbl/target/evkmimxrt1170/mdk/ 就生成了工程文件: 打开sbl.uvprojx就是。(2)安装pack MDK安装
2024-05-15 14:22:00
1208
原创 RISCV——Spinlock锁的理解
锁的操作均是原子操作,但是实现锁的功能,还需要内存屏蔽功能,保证临界区的执行可靠性。多核处理器,多个CPU如果同时访问一些共享资源,可能会导致数据不一致。,即共享数据用锁设置成多CPU分时访问。通过原子操作赋值,也就是锁只能一方获取。为了并行中的正确性(共享数据一致性)
2024-02-20 14:05:46
1605
1
原创 RISCV——原子操作和内存屏障(Memory Barrier)
原子操作就是: 不可中断的一个或者一系列操作, 也就是不会被线程调度机制打断的操作, 运行期间不会有任何的上下文切换(context switch)。
2024-02-20 10:53:52
3055
原创 NXP-RT1176开发(一)——环境搭建(MCUXpressoIDE/VSCode)
该处理器编译规则可以MDK,IAR,官方的MCUXpresso,VSCode下也可以。这里安装MCUXpresso和MCUXpresso Config Tools,并且配置VSCode环境。第一个就是开发环境,基于eclipse。这个是windows的安装版。
2024-01-16 16:20:35
2362
原创 QT——数据转换(int/QString/QByteArray/char/string)等
【代码】QT——数据转换(int/QString/QByteArray/char/string)等。
2023-12-05 17:28:10
2370
原创 RISC-V(2)——特权级及特权指令集
一个 RISC-V 硬件线程()是运行在某个特权级上的,这个特权级被编码到一个或者多个控制和状态寄存器)中的一种模式。当前定义了四种特权级,如下所示。特权级的作用现象机器级是最高级特权,也是 RISC-V 硬件平台唯一必须的特权级。所有硬件实现必须提供M-mode,因为这是唯一的模式,可以不受限制地访问整个机器。最简单的RISC-V实现可以仅提供M-mode,虽然这样做不能为防止不正确的、恶意应用代码提供保护。
2023-08-30 17:59:46
4088
原创 Git——Windows平台创建gitee私有仓库详解
然后打开我们的Gitee,进入设置–>SSH公钥–>在公钥区粘贴我们所copy的公钥,点击确定输入Gitee登陆密码进行验证即可。进入到指定的文件夹之后,使用git init指令将本地文件夹变成本地仓库。xxx表示自己对本次提交所进行的备注或者标注。(3)git push 指令提交到服务端。‘xxx’表示需要克隆的仓库的链接。表示将某个文件添加至暂存区。
2023-08-29 21:59:32
2423
原创 基础——强符号和若符号__attribute__((weak))
默认情况下,都是强符号,即它们在链接过程中会被解析为唯一的定义。if(func!然而,有时我们希望在链接过程中允许符号的重复定义,这就是弱符号的作用。要将一个符号声明为弱符号,我们可以使用__attribute__((weak))属性。弱符号函数使模块的函数转换为弱符号类型,连接器发现同时存在弱符号和强符号,优先选择强符号,如果发现不存在强符号。只存在弱符号,则选择弱符号。if(func!
2023-08-25 11:16:08
605
原创 MFC——base编码和json数据
JSON 是一种数据格式。采用完全独立于语言的文本格式, 因为易读, 易写, 易解析的特性成为理想的数据交换语言。主要有三种类型的值:简单值(字符串, 数字, 布尔, null), 对象, 数组。(1)大括号 {} 保存的对象是一个无序的对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个"键"后跟一个冒号 :,对使用逗号 , 分隔。(2)中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。
2023-08-22 18:24:09
858
原创 RISC-V(1)——RISC-V是什么,有什么用
RISC发明者是美国加州大学伯克利分校教师David Patterson,RISC-V(拼做risk-five)是第五代,也是由David Patterson指导的项目,但许多贡献者是该大学以外的志愿者和行业工作者。是一个CPU的基石,要实现CPU 计算和控制功能,就必须定义好一系列与硬件电路相匹配的指令系统。指令就是我们交代CPU 要执行的操作,指令集就可以简单理解为指令的集合。我们把cpu 能够识别的指令汇总在一起就构成了一个指令集。
2023-08-22 18:15:34
4780
原创 展讯UIS8910FF
展讯UIS8910FF系列模组是基于紫光展锐 LTE平台方案开发的LTE CAT1/GSM系列无线通信产品,能够通过FDD-LTE、TDD-LTE 和GSM 实现数据连接,支持BT 以及GNSS定位服务,并支持外接 LCD、CAMERA、AUDIO、EMMC、SENSOR 等外部设备,便于客户产品的开发设计。展讯UIS8910FF 已经注册到网络,LTE/GSM/GPRS 处于激活状态,为发送和接收短信,语音服务和数据服务做好准备,但尚无数据收发。-带宽:1.4/3/5/10/15/20MHz。
2023-03-29 18:32:32
6887
原创 【QT】一 设置布局后,控件大小会自动变化,如何设置想要的
解决方案:点击此控件,将属性栏下拉到最下方,找到layout,将上下左右的边距均设为零即可。给一个QWidget控件内部设置布局后,原来内部的控件大小变小了,如何解决?选择整体,选择布局方式,这里为水平布局。选择整体,属性拉到最下面,设置为0。你会发现,可能显示不全。3. 设置layout。1. 设置好控件大小。
2023-03-29 17:59:02
21369
原创 LWIP(二)——LWIP有3种编程接口,RAW、NETCONN和SOCKET
LWIP有3种编程接口,和。它们的易用性从左到右依次提高,而执行效率从左到右依次降低,用户可以根据实际情况,平衡利弊,选择合适的 API 进行网络应用程序的开发。
2023-01-11 10:00:59
8311
1
原创 出错——VS编译include <wincrypt.h>错误提示缺少“;”(在标识符“HCRYPTPROV”的前面)
【代码】出错——VS编译include 错误提示缺少“;”(在标识符“HCRYPTPROV”的前面)
2023-01-05 20:29:02
812
原创 Linux ——repo下载与使用方法详解
在下载Android源码的时候,经常会遇到fatal: Not a git repository 错误,对于这类错误,解决方案就是直接删除相应的目录,然后重新执行repo sync即可。第二条配置邮箱,邮箱是不是gu鸽的都行。必须为清单指定一个网址,该网址用于指定 Android 源代码中包含的各个代码库将位于工作目录中的什么位置。将下载的git-repo文件夹中的repo文件复制到bin下,并且修改权限chmod a+x ~/bin/repo;repo sync才是把仓库的东西下下来的指令。
2022-10-21 17:52:29
20156
原创 QT——可视化界面ui
C++中,命名空间使用namespace来声明,并使用{ }来界定命名空间的作用域,C++中标准命名空间std,std 是 standard 的缩写,意思是“标准命名空间”;对界面进行初始化,它按照Qt设计器里设计的样子把窗体画出来,把Qt设计器里面定义的信号和槽建立起来。这样就是非模态窗口,非模态就是弹窗和主窗口互不阻塞,弹出子窗口,仍然可以操作主窗口。test.cpp: 启动可视化界面,及可视化界面的各种相关功能源文件;test.h: 头文件,类名就是ui的objectName;
2022-09-26 12:00:00
2566
原创 出错——Ubuntu出现Release 404 Not Found [IP: 180.101.199.239 80]
Ubuntu出现Release 404 Not Found [IP: 180.101.199.239 80]
2022-07-12 10:48:43
633
原创 MTK2735(1)——环境相关linux(ADB调试)
更新源安装ADB检查类似错误需要给权限($ adb devices* daemon not running. starting it now on port 5037 ** daemon started successfully *List of devices attached )打开adb shell
2022-06-22 22:32:10
1515
原创 问题——adb shellerror: insufficient permissions for device: verify udev rules.
目录1. 问题2. 原因 3. 解决 adb shellerror: insufficient permissions for device: verify udev rules.See [http://developer.android.com/tools/device.html] for more information. 从上面给出的提示翻译成中文是”设备权限不足“,adb devices给出的提示 ”No permission“,所以我们要解决非标设备默认无法被识别的问题。添加权
2022-06-22 13:49:04
1306
原创 CAN总线(三)——CAN FD协议及其与CAN2.0的异同
目录1. CANFD的来历2. CANFD与CAN的协议异同3. CANFD帧结构解析3.1 帧起始3.2.仲裁域3.3 控制域3.4 数据域3.5 CRC3.6 ACK3.7 帧结尾1. CANFD的来历我们知道了, CAN2.0数据段只有8byte,最高速率为 1Mbit/s,通常使用的是 500k,随着功能的逐渐增多,各 ECU 之间的信息交互也越多,导致总线负载持续走高;CAN 报文中只有约 40~50%的带宽用于实际数据传输;响应机制..
2022-05-11 21:32:14
25210
1
原创 CAN总线(二)——CAN2.0标准与协议分析
目录1. CAN协议的基本概念2.CAN 协议及标准规格2.1 ISO 标准化的 CAN 协议2.2 ISO11898 和 ISO11519-2 的不同点3. CAN协议3.1 帧的种类3.2 数据帧3.3遥控帧3.4错误帧3.5 过载帧4. CAN协议帧的其他要点4.1 帧间隔4.2优先级的决定4.2.1数据帧和遥控帧的优先级4.2.2标准格式和扩展格式的优先级4.3位填充4.4错误的种类4.5位时...
2022-05-11 21:10:46
11955
原创 CAN总线(一)——CAN总线是什么,在哪用,怎么用?
目录1. CAN总线是啥2. CAN总线简介2.1 CAN总线标准2.3 CAN收发器2.4 差分信号2.5 CAN总线连接器1. CAN总线是啥总线是啥?总线分类的方式有很多,如被分为外部和内部总线、系统总线和非系统总线等等,不管是啥看英文叫作“BUS”,即“公交车”,也就是说总线就行公交一样。你只要在公交的运行线路上,就可以上车,上车点就是公交站点,同样的总线接好了,加入一个节点(设备),节点接可以把数据放到总线上,传到其他节点。CA...
2022-05-11 20:26:39
58113
3
原创 基础知识——PMIC
PMIC(Power Management IC)又称电源管理IC,是一种特定用途的集成电路,其功能是为主系统作管理电源等工作。PMIC常用于以电池作为电源的装置,例如移动电话或便携式媒体播放器。由于这类装置一般有多于一个电源(例如电池及USB电源),系统又需要多个不同电压的电源,加上要控制电池的充放电,以传统方式满足这样的需求会占用不少空间,同时增加产品开发时间,因此造就了PMIC的出现。PMIC 主要功能:[电源管理,充电控制,开关机控制电路]直流-直流转换器...
2022-05-11 17:47:13
4772
原创 问题——STM32用flyMcu烧录“写入出错在0kb,进度0%,耗时1029毫秒”的错误
因勾选“编程到FLASH时写选项字节”出错。用JTAG烧录提示:Flash Download failed - "Cortex-M4"。解决办法:下载个工具:stm32 st-link utility插好JTAG;打开软件,Target --> ConnectTarget--> Option Bytes...不保护,apply。使用STM32 ST-LINK Utility烧录,File-->Open file...-...
2022-04-03 18:38:52
12520
3
0.96OLED显示屏_arduino_SPI_例程
2018-01-17
0.96OLED显示屏_arduino_IIC_例程
2018-01-17
IST磁力计驱动源码,IIC2接口,IIC接口驱动不包含,仅IST本身的驱动,所有函数接口
2025-04-01
FTDI Drivers Installation Guide for Windows 10.pdf
2020-11-30
QScintilla源码(QScintilla_gpl-2.10.8),windows版本
2021-10-23
eMMC协议(中文+英文).rar
2019-11-04
CDM v2.12.28 WHQL Certified.zip
2020-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅