软件开发
Windows 下 Node.js、npm 与 NVM 的安装、版本管理与使用 2026-08-18
背景在使用一些基于JavaScript/Node.js的命令行工具时,经常会遇到这样的情况:明明已经安装了Node.js,执行命令却提示版本过低,甚至出现Unsupportedengine、依赖无法安装等错误。例如,在运行DeepSeekDSH时,最初的环境是:Node.jsv16.13.2npm8.1.2执行:npx@deepseek-ai/dshweb虽然npm可以开始安装,但随后出现:npmWARNEBADENGINEUnsupportedengine原因并不是DSH本身安装失败,而是Node.js版本太旧。这类问题实际上涉及Node.js、npm、npx和NVM几个不同的组件。理解它们
硬件开发
如何使用WCH-LinkE的SDI功能 2026-07-28
使用方法在MounRiverStudio打开项目中的debug.h文件将SDI_PR_CLOSE改为SDI_PR_OPEN在菜单栏【闪存->下载配置】勾选【使能SDI打印】代码参考SDI_Printf_Enable();//启用SWD单线打印printf("SDITEST12345\r\n");//正常打印即可
操作分享
使用FTP工具登录又拍云 2026-07-28
通过FTP/FTPS客户端,可以连接云存储的FTP/FTPS服务器,实现对云存储的管理。推荐使用FileZilla客户端。FTP/FTPS登录方式地址(主机):智能选路(推荐):v0.ftp.upyun.com电信线路:v1.ftp.upyun.com联通线路:v2.ftp.upyun.com移动线路:v3.ftp.upyun.com加密:ftp选择“不加密”模式,ftps选择“显式的FTPoverTLS”模式用户名:操作员名/服务名,如operator/mybucket(需同时填写)密码:操作员的密码端口:21软件界面
硬件开发
【20260728】项目反思 2026-07-28
错误记录封装选错(没有认真检查参考的原理图选择的封装,导致没有采购)排针间隔错误(这里出现在测量或计算,如果测量模块两端时,排针距离需要减去2.54)安装孔位,或者模块影响其他安装件(esp-01s影响了称重模块这两个都是大体积,在空间有干涉,连接件太高阻拦了外壳的安装)元器件电压选择错误(参考他人原理图时更换了相似的元器件【SP3485EN&SN75176BDR】功能引脚都是相同的,结果电压不同)阻容没放置(问AI控制线路需不需要电阻,AI说不需要,结果需要一颗下拉电阻,AI默认问电阻就是问限流电阻)没有系统性考虑问题,导致流程无法进行(自己手头的485是半双工,连接器也派不上用场)
硬件开发
CH32V003 的 PA1/PA2 引脚输出... 2026-07-25
背景在项目中使用CH32V003控制RS485芯片(SN75176)的收发方向时,遇到PA1/PA2电平异常卡死在0.54V的问题,中途还误操作导致调试接口锁死。现记录排查过程与解决方案。一、问题现象与排查误区现象:普通IO(如PC4)可正常翻转,但PA1和PA2无论如何设置输出,电平始终保持在0.54V左右。误区:误判硬件:以为是RS485芯片损坏或GPIO击穿,盲目吹下了SN75176,结果裸Pin依然是0.54V。误关调试口:为排除引脚复用,误调用GPIO_PinRemapConfig(GPIO_Remap_SDI_Disable,ENABLE)禁用了SDI/SWD调试口,导致WCH-L
硬件开发
双页缓冲(Ping-Pong Buffer) 2026-07-17
前言在嵌入式系统中,经常会遇到这样的问题:一个模块不断产生数据,例如ADC采样、摄像头采图、音频录制、通信接收等;另一个模块需要处理这些数据,例如滤波、压缩、存储、发送。如果数据产生速度和处理速度不完全一致,就需要一个缓冲机制,否则很容易出现数据丢失或者处理等待的问题。最常见的一种方法就是双页缓冲(Ping-PongBuffer,也叫乒乓缓冲)。一、为什么需要缓冲?假设有一个ADC,每秒采集10000个数据。CPU每采集一点就处理一点:采集数据↓CPU处理↓继续采集↓CPU处理看起来没问题,但是实际情况中:CPU处理某一次数据可能需要较长时间;中断可能打断当前任务;存储设备可能暂时忙;通信发送
硬件开发
硬件常用通信协议简介 2026-07-17
前言在现代电子设备中,通信协议是连接不同芯片和设备的重要基础。单片机(MCU)通常不会单独工作,而是需要与各种外围器件进行数据交换,例如传感器、显示屏、存储芯片、电机驱动器、无线模块以及其他控制节点。为了让不同设备能够按照统一规则交换数据,人们设计了各种通信协议。不同通信协议有不同的设计目标。有些协议追求简单低成本,适合芯片之间短距离连接;有些协议强调高速传输,适用于显示屏和存储设备;还有一些协议专门为工业环境设计,需要长距离、高可靠、多节点通信。常见的通信协议主要包括UART、I2C、SPI、RS-232、RS-485、CAN、USB、Ethernet等。UART:最基础的串行通信方式UAR
硬件开发
MCU GPIO 输入输出模式详解 2026-07-17
前言在使用单片机进行硬件设计时,GPIO(GeneralPurposeInputOutput,通用输入输出)是最基础也是最常用的外设接口。无论是控制LED、电机、继电器,还是读取按键、传感器信号,甚至实现I2C、SPI、UART等通信,都离不开GPIO的不同工作模式。很多初学者接触MCU时,只知道GPIO可以设置为“输入”或者“输出”,但实际上GPIO内部结构远比简单的开关复杂。不同的输入输出模式决定了引脚是否能够主动输出电平、是否可以连接多个设备、是否需要外部电阻以及适合什么应用场景。常见的GPIO模式包括:推挽输出(Push-Pull)开漏输出(OpenDrain/OpenCollecto
硬件开发
RS-485 通信技术全面介绍 2026-07-16
一、什么是RS-485?RS-485是一种由美国电子工业协会(EIA)制定的差分串行通信标准,全称为TIA/EIA-485。它主要用于解决传统串口通信距离短、抗干扰能力弱、无法连接多个设备等问题。在工业自动化、智能仪表、楼宇控制、电机控制等领域,RS-485是目前应用非常广泛的一种通信方式。很多工业设备,例如PLC、变频器、温控器、智能电表、传感器和远程IO模块,都采用RS-485作为设备之间的通信接口。需要注意的是,RS-485本身只是一个物理层标准,它规定的是信号如何传输,而不是规定数据内容如何组织。例如:RS-485规定:电压、电流、线路结构、通信距离等。ModbusRTU规定:数据格式
操作分享
谷歌浏览器强制页面黑暗模式 2026-07-15
晚上打开浏览器虽然可以设置主题为深色,但是大部分网址还是白色背景,可以用以下方式进行设置1.打开网址:chrome://flags/#enable-force-dark2.选择Enabled,然后重启浏览器即可
热门文章
专栏