- 博客(23)
- 收藏
- 关注
原创 【type-c】DP协议通信过程
黑屏先查 Enter Mode ACKACK 后无 AUX 查 SBU/MUXDPCD202=0x77 训练成功0x00 查主链路/固件0x07/0x70 查单 laneHDCP 失败但 0x77 查 HDCP key本文以LT8712SX(DP 转双路 HDMI)为例,系统讲解 Type-C/DP 的完整通信过程:从 CC 线上的 PD 协商、VDM Alt Mode 建立,到 AUX 读 DPCD、链路训练,再到黑屏/无信号故障的抓包定位方法。
2026-09-27 22:56:52
7
原创 【显示】drm控制原理——从接入显示器开始
产生中断的IRQ不是cpu而是 HDMI Controller Hardware,HPD引脚不用经过GPIO Controller,而是HDMI IP自己采样。以下是以rk628为bridge的架构,rk628的一个引脚接到soc,soc注册中断。上述注册中断后,在中断处理函数,或者中断触发的work函数会调用以下函数。soc————rk628(rgb888转hdmi)————显示器。解析EDID,drm_add_edid_modes()以下是mtk架构,mtksoc————显示器。
2026-06-28 16:31:28
164
原创 【linux】clang和clangd之间区别
摘要: Clang是LLVM项目的C/C++/ObjC编译器,负责将源码编译成可执行文件(如clang main.c -o main)。而Clangd是语言服务器(LSP),为编辑器提供代码补全、跳转定义、语法检查等IDE功能,不参与编译。两者核心区别:Clang是生产工具(构建时工作),Clangd是智能副驾驶(编码时辅助)。Clangd底层复用Clang的解析能力,但用途不同——前者优化开发体验,后者生成可执行文件。简言之:Clang让代码跑起来,Clangd让编码更高效。 (149字)
2026-03-14 18:35:42
212
原创 Linux基础调试方法总结
从上述panic日志发现驱动加载挂在stk6a7x_init函数内部,但是不知道具体函数内部在哪里空指针可以通过pc指针追溯从这句可以分析出0x1d0 ✅ 是 pc(程序计数器)在函数内的偏移,也就是 crash 发生在 stk6a7x_init 函数开始后的第 0x1d0 字节。0x454 ✅ 是 函数总大小(字节数),也就是 stk6a7x_init 从开始到结束占据的总机器码长度。这里的偏移都是从函数起始地址(函数本身的第一个指令)算起的,也就是从0开始计数的。
2026-02-07 20:47:03
132
原创 ESP-IDF开发 ------ esp32_s3拿到手使用usb-otg口无法下载
(could not open port ‘COM17’: FileNotFoundError(2, ‘系统找不到指定的文件。’, None, 2))打开usb-otg的串口又有打印,说明该板子被淘宝店家下载程序,需要进入下载模式,按照如下操作。然后松开reset键。
2025-01-11 23:11:38
797
原创 ESP-IDF开发 ------ 02 类似于stm32霍尔编码器功能的Pusle Ccounter(PCNT)脉冲计数器
[TOC](ESP-IDF开发 ------ 02 类似于stm32霍尔编码器功能的Pusle Ccounter(PCNT)脉冲计数器)
2025-01-11 23:07:28
299
原创 【esp32联合arduino】01——arduino安装esp32库-解决下载痛点
ESP32 是一款由乐鑫科技 (Espressif Systems) 设计和生产的高性能低功耗 Wi-Fi 和双模蓝牙(Bluetooth)系统级芯片(SoC)。它广泛应用于物联网 (IoT) 设备和其他需要无线通信的应用中。
2024-07-14 11:55:02
4425
2
原创 菜鸟通俗易懂Linux——内核双向循环链表(包括普通单链表和双向链表)
文章阅读时间花费十分钟,主要链表解释,使用方法,使用例子,作者呕心沥血之作
2024-02-17 20:22:27
1312
1
原创 linux开发环境搭建2——VMware+ubuntu16.04+虚拟机通过samba映射至windows
保证虚拟机和主机(笔记本Windows)是能够互相ping通的。在配置文件末尾添加以下几行,构建samba服务器目录。注意path千万别改成根目录’',设置成用户的目录。rojek为linux的用户名,接着重启samba服务。
2023-12-23 14:42:16
720
1
原创 linux开发环境搭建——VMware+ubuntu16.04+正点原子阿尔法开发版+笔记本+wifi+vscode
但是开发板还是无法联网,尚未找到原因,ping www.baidu.com。3、虚拟机创建Vmnet0桥接笔记本wifi网络 Vmnet2桥接以太网。2、将windows下的无线网络适配器共享给到开发板的物理网卡。水平分页 ctrl+shift+o (这里是字母的小o)垂直分页 ctrl+shift+e。关闭分页 ctrl+shift+w。复制文字 ctrl+shift+c。复制文字 ctrl+shift+v。打开终端 ctrl+alt+t。2、ubuntu安装ftp服务。开发板和虚拟机相互ping通。
2023-12-02 00:11:53
1368
1
原创 ESP-IDF开发 ------ 01Windows下vscode开发环境搭建 | 跑基础程序HELLO_WORLD
物联网是未来趋势,esp32真是学习该方向好媒介,还能学习到RTOS的用法,以及提前学习linux操作模式,一举两得
2023-11-19 09:53:58
522
原创 菜鸟通俗易懂Linux——CRC16原理与计算方法
**循环冗余校验(Cyclic Redundancy Check,CRC)**广泛应用于数据传输中的数据校验,可以自定义校验的位数,例如CRC8、CRC16、CRC32,不同位数也不同的应用场景。第三步 检测寄存器的第一位为0还是1,如果是1,则将寄存器向右移动一位并与多项式的二进制倒叙(比如CRC16_MODBUS 为0x8005 倒叙后为0xA001)进行异或,如果是0,则直接将寄存器向右移动一位。第五步 处理剩下的数据,重复第二、三和四步得到最终的CRC寄存器也就是CRC校验值。
2023-08-20 18:32:32
5843
1
原创 visual stduio2022下中文printf格式输出乱码现象解决方法
vs默认是简体中文GB2312保存 我们需要修改为UTF-8文章目录第一步 在菜单栏文件->下添加“高级保存选项”第二步 关键一步!第一步 在菜单栏文件->下添加“高级保存选项”这一步在csdn上都能找到第二步 关键一步!链接: link这样就可以了分析原因:Visual Studio对于不带BOM的UTF-8文件,默认会根据本地locale的设置来决定文件的编码(对于简体中文系统,就是GBK)。因此对于UTF-8 without BOM的代码文件输出中文就是乱码。...
2022-05-15 17:09:58
4598
2
原创 visual studio2022下webots环境的配置(C/C++)——终极操作可添加个人源文件和头文件
自从webots2018项目创建加入了visual stduio平台选项,使用起来就更方便了,但是我在一开始创建工程后能用,重新再打开或者自己添加源文件和头文件,就可能会发生一下错误:1.由于找不到Controller.dll,无法继续执行代码,重新安装程序2.打不开源文件3.找不到路径等等按照下面的步骤可解决文章目录第一步第二步第三步第四步第五步第六步第七步(也是最重要的一步)第一步注意在添加路径中$(WEBOTS_HOME) 是webots的安装路径相当于D:\webots_azlj\
2022-05-06 12:15:22
3874
5
原创 真实操作Robotstudio解决机器人系统创建失败(更改用户名),不需要重装系统,修改注册表复杂操作
第一步在上面新账户名框中输入英文名字第二步确定新建立的名字无误第三步重新安装Robotstudio,建立系统即可。
2022-02-19 15:44:29
17451
8
原创 keil_MDK调试经验总结二
1.局部变量中运行过程中可以看到具体的值2.宏定义公式需要加括号3.switch 每个case中不要忘记加break
2021-09-17 09:57:07
395
原创 Keil_MDK调试经验总结一
切记在定义变量类型时,一定要考虑变量的用途,如下第一点 整型和浮点型的差别://正确定义static float Fen_Zi = 0;float Fen_Mu = 200; //每个姿态的运动周期 200*7 = 1400ms static float Percentage = 0;static uint8_t State_N = 1; uint8_t flage;//错误定义static float Fen_Zi = 0;float Fen_Mu = 200; //每
2021-09-17 09:54:21
3058
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅