
笔记
文章平均质量分 74
Tyrion.Mon
鄙视抄袭、洗稿!!! 博客只为分享,共同进步。但希望大家不要做伸手党,自己多多思考自己动手试试,我想分享源文件自然会贴出来。
展开
-
Windows双网卡冲突导致网页加载过慢的解决方法 (修改跃点无效 远程桌面连接)
这是因为笔记本和台式机的网口直连了但没有接入互联网,要访问公网只能通过WIFI。但是每次发起互联网请求时,总会先尝试走以太网接口这条链路,当发现走不通时才改道WIFI。原创 2025-02-07 18:20:11 · 803 阅读 · 0 评论 -
DC-DC FB分压电阻计算 (MP1584 SY8205为例)
FB处的分压电阻对输出电压进行分压,FB引脚获得0.6V或者0.8V。输出电压确定了,结合FB电压,就可以算出分压电阻的值。手册里面分压电阻都是用的很大的值,实测我们可以改用小电阻。不过最好还是用大的,手册里面这么推荐那是有它的道理。一般DC-DC芯片对输出电压的调节,是以FB引脚达到0.6V或者0.8V为止的,具体是多少需要看对应的手册。原创 2024-08-21 01:33:18 · 1289 阅读 · 0 评论 -
DLT645-2007智能电表通讯规约解析 读取数据实战
前导字节:作用是唤醒接收方,FE的个数不强求,各厂家自定,给某些电表发送前导码反而是不会回应的,请求数据时不发送即可。原创 2023-09-19 14:22:34 · 27629 阅读 · 24 评论 -
一个IO上挂接多个DS18B20
当前冲突点深度大于记录的最新的冲突点,为新的冲突点,选择左边(0)路线原创 2023-09-07 11:26:38 · 822 阅读 · 0 评论 -
红外测温传感器MLX90614
printf("环境温度%f℃,物体温度%f℃\r\n\r\n", (float)MLX90164_data.Temperature_Ta[0] / 100, (float)MLX90164_data.Temperature_To[0] / 100);原创 2023-09-07 10:56:12 · 909 阅读 · 1 评论 -
ESP8266(RTOS SDK)内嵌网页以实现WEB配网以及数据交互
在路径ESP8266_RTOS_SDK\examples\protocols\http_server\simple\main下找到http服务器的实例代码,按照demo的方式,将文件注册,收到get请求之后将对应文件发出去原创 2023-08-13 11:40:06 · 1977 阅读 · 0 评论 -
单片机直驱两相四线步进电机研究
四拍正转,每个正脉冲转1.8°,360°/1.8°=200个脉冲转一圈。一次循环A+ B+ A- B-四个脉冲,循环50次即转一圈。原创 2023-08-13 00:27:09 · 1986 阅读 · 0 评论 -
ESP8266 SDK开发阶段无线WIFI本地烧录升级程序 -- FOTA
因为正在DIY一个WiFi计量插座,采用非隔离的方案,烧录时要拔掉220V插头,测试时要拔掉USB线,麻烦事小,万一两者同时插上烧坏电脑事大。于是想着调试阶段用无线的方式更新程序,也方便以后偶尔的升级需求,不需要把外壳打开。顺便还把FOTA这个功能学了。FOTA为了防止升级意外中断导致APP损坏,划分两个区域存放两份APP,轮流进行升级,由boot去记录应该升级哪个APP以及启动哪个APP,类似安卓的A B分区。这样做的代价是需要双倍的APP空间。原创 2023-06-05 02:31:16 · 1112 阅读 · 0 评论 -
迪文串口屏(T5L2 & DGUS II)开发 -- 入门&项目实战经验总结
迪文屏资料零散,缺少说明,对新手极不友好,开发也不够灵活。迪文的官网是没多少有用的资料的,需要去论坛找。百度搜索“迪文开发者论坛”。如果后续开发有疑问,论坛中搜不到答案,则可以发帖提问,回复还是挺快的。或者找销售方加客服微信。以型号DMG13768C156_03WTC的串口屏为例,主芯片为T5L2,运行DGUS II系统。支持通过TTL / 232接口进行开发(PCB上短接预留焊盘切换为TTL)。原创 2023-04-27 13:42:09 · 20917 阅读 · 0 评论 -
8位单片机(51 STC8)C语言处理32位unsigned long型数据之计算出错
入门51没多久后就主攻32了,最近又搞起51,移植一个软定时器代码到STC8上,结果出现了奇怪的问题,而这种问题在各种32位单片机上都是不曾有的。有如下代码,实现了软定时器。使用内部IRC,22.1184MHz得到如下结果,相减的结果和打印的结果不一致变量指定到xdata区时,时不时会出现差值非常大但是实际只过了几百ms的情况变量指定到data区时,时不时会出现差值大于1000ms但是实际只过了几百ms的情况。原创 2023-02-28 18:06:35 · 3948 阅读 · 6 评论 -
自制DAPLink -- ARM官方源码以及STM32F103C8T6
随后找到stm32f103xb_stm32f103rb_if工程,和上面一致的操作,但是要修改IO_Config.h引脚定义文件。编译后在工程build目录下找到hex文件拖入到此虚拟U盘中,U盘名称将变为下图所示。DAPLINK运行成功原创 2023-01-27 17:05:05 · 15755 阅读 · 21 评论 -
使用Git工具上传项目代码到Gitee仓库
1、git init2、git remote add origin https...(即刚才新建的远程仓库的地址)3、git pull origin master 4、git add .5、git commit -m "第一次上传"6、git push origin master原创 2023-01-27 15:37:31 · 1905 阅读 · 0 评论 -
ESP8266_RTOS_SDK 开发环境搭建 AiThinkerIDE_V1.5.2安装配置 编译 烧录
乐鑫官方不搞IDE,安信可搞了IDE,但是各版本之间安装配置有差异,还没有文档说明。官方安装配置教程不完全适用于新版IDE以及更新的SDK,就很乱。而有些第三方安装配置教程不标注版本信息,但不同版本的IDE或者不同版本的SDK安装配置是不一样的,所以这样的文章没有参考意义,也就是这个开发环境的配置教程是有时效性的,也许这篇文章日后也会随着官方资料的更新而过时。本文章只适用于 AiThinkerIDE_V1.5.2 以及 ESP8266_RTOS_SDK 3.0以上的版本(目前最新是3.4)。原创 2023-01-02 16:47:14 · 3201 阅读 · 6 评论 -
C# 学习之一:入门
加入等待窗口句柄创建完成的代码,可以有效防止程序打开时卡住。上面的多线程定时器直接操作控件可能会报跨线程的错误,所以可以利用委托去刷新原创 2022-07-02 23:25:21 · 499 阅读 · 0 评论 -
带字库LCD12864(ST7920)使用记录(命令 数据 地址 绘图 反白)
以前用LCD12864做显示直接用前人的程序,今年过年研究了一下这块屏。关于这块屏的文章已经有很多了,这里主要记录一下已经解开的我的疑惑。一、串行通讯下,每次写数据都需要发送至少3个字节/** * 串行帧格式:byte0:11111+RW+RS+0 RW:1读 0写 RS:写数据类型,1显示数据 0控制指令 * byte1:HHHH + 0000 读数据类型,1数据 0状态 * byte2:LLLL + 0000 HHHH | LLLL为一个完整字原创 2021-02-17 15:44:11 · 9182 阅读 · 9 评论 -
兆易创新GD32305R-START开发板踩坑 —— 无法使用板载GD-Link烧写
虽然板子自带调试器GD-Link但并不能使用兆易创新官方的PC端调试工具进行下载,因为板子上的GD-Link是阉割版,连接上PC端调试工具会提示为板载GD-Link,只能使用部分功能,也就只能看看MCU型号和ID之类的。因为GD-Link使用的是开源协议,可以直接在keil5中选择 ↓亲测可下载可debug。注意电脑在连接GD32开发板时,其它调试器如ULINK、ST-Link等应该拔下,否则会造成冲突无法识别。...原创 2021-03-25 19:13:28 · 4214 阅读 · 6 评论 -
STM32/GD32 IAP/Bootloader升级APP研究以及编程实现、hex文件格式
Bootloader在前:单片机上电时先运行Bootloader,等待升级指令。无指令时计时,超时进入APP;有升级指令,则开始升级APP即接收升级数据写入Flash,写入完成后跳转APP。Bootloader在后:单片机上电时直接进入APP,运行过程中接收到升级指令后跳转Bootloader进行APP升级。升级完成后跳转APP。......原创 2022-05-12 19:48:02 · 10623 阅读 · 14 评论 -
STM32/GD32 Bootloader升级APP研究以及编程实现
Bootloader在前:单片机上电时先运行Bootloader,等待升级指令。无指令时计时,超时进入APP;有升级指令,则开始升级APP即接收升级数据写入Flash,写入完成后跳转APP。Bootloader在后:单片机上电时直接进入APP,运行过程中接收到升级指令后跳转Bootloader进行APP升级。升级完成后跳转APP。同样的,在APP中也可升级Bootloader,但一般不需要。原创 2022-04-26 19:23:29 · 4015 阅读 · 0 评论 -
VS Code配置 -- 不同工作区间/不同文件夹使用不同编码
如果设置默认编码为GB2312,那么如果某个工程文件夹里面的文件编码全是GB2312的,打开这个文件夹内的文件时会按GB2312编码去加载,没问题;但如果另一个工程文件夹里的文件编码是utf8,那这个时候还是以GB2312去打开就会乱码了。可以给每个文件夹单独设置编码来解决这个问题。一、依次点击 文件 -> 打开文件夹,打开工程文件所在文件夹二、点击左下设置图标 -> 点选设置点选上方的用户 / 工作区切换全局 / 局部配置 用户配置(全局配置) 工作区配置(仅作用原创 2022-04-15 19:41:21 · 4314 阅读 · 2 评论 -
Arduino API 开发 ESP8266 -- Arduino IDE的安装与配置
一、下载安装Arduino[ Arduino IDE 下载地址 ]二、安装ESP8266支持包[ ESP8266 API for Arduino ]1、Arduino安装完成并打开,在文件 > 首选项 的 附加开发板管理网址一栏中输入上图的地址 https://arduino.esp8266.com/stable/package_esp8266com_index.json 2、依次点击工具 > 开发板 xxx > 开发板管理器 输入ESP8266出现结果原创 2022-04-11 14:23:33 · 804 阅读 · 0 评论 -
OLED12864模块全屏缓冲刷新
一、全屏缓冲需要了解其驱动芯片SSD1306的RAM数据区和屏幕点阵的关系由数据手册得知SSD1306有8页,将屏幕纵向分成64 / 8 = 8个块每页有128个字节竖向排列代表128列以上图页2为例,要点亮第2页第0行第0列(屏幕16行0列)交叉的像素时,向第2页第0列写入0x01; 要点亮第2页第5行第4列(屏幕21行4列)交叉的像素时,向第2页第4列写入0x20;/* SSD1306 *//* COL0 COL1 COL2 COL3........COL127原创 2022-04-11 00:55:25 · 2950 阅读 · 1 评论 -
集通字库芯片GT20L16S1Y 读取字体数据
/** * @brief * @note * @param None * @retval None * @author PWH * @date 2021/4 */int32_t GT20L16S1Y_Get_Addr_Ascii_7x8(char *asciiCode){ if (*asciiCode >= ' ' && *asciiCode <= '~') { return 0x66C0 + (*asciiCode - .原创 2021-11-02 00:55:17 · 9287 阅读 · 4 评论 -
公历转农历、生肖、干支纪年、节气算法研究和C程序实现
一、参考文章阳历转阴历算法概述1900年至2100年公历、农历互转Js代码农历的那些事儿(一)香港天文台农历数据(txt版)香港天文台农历数据(pdf版)二、关于农历查阅了大量关于公历转农历的博文之后,明确了:所谓的公历转农历算法即系基于查表法推算。因为农历数据需要天文台观测得到,且无明显规律,因此无法用公式将公历转成农历。要制表就需要公历 - 农历对照数据。这数据在国内网上公开并可被查询到的官方网站为香港天文台,仅此一家。都说内地仅紫金山天文台有发布农历数据,前几年也发布了农历国原创 2021-08-29 17:44:58 · 4166 阅读 · 0 评论 -
Node MCU / ESP8266运行Lua脚本从NTP服务器同步网络时间
--NTP服务器列表,可百度到NTP_SERVERS = { "ntp.aliyun.com", "time.asia.apple.com", "cn.ntp.org.cn", "time.windows.com", "cn.pool.ntp.org" } --[[以下为WiFi连接配置--]]原创 2021-08-11 20:09:26 · 1436 阅读 · 0 评论 -
ESP8266和Node MCU扫盲与开发入门
下图是网上出现最频繁的NODE MCU开发板,由ESP8266模块、USB转TTL芯片、5V转3.3V的LDO、自动下载电路等组成。ESP8266指的是乐鑫推出的ESP8266-EX芯片,用ESP8266-EX芯片和flash芯片等封装在一起便得到ESP8266模块。ESP8266模块的品牌一般分为乐鑫和安信可。这是淘宝上的图,此WiFi模块厂商为乐鑫这是本人根据上图开发板的开源图纸DIY的,此WiFi模块厂商为安信可...原创 2021-08-04 19:35:15 · 9435 阅读 · 0 评论 -
FRAM铁电存储器FM25W256 | FM24CL04B | FM24CL16B编程实现读写存取数据
一、电路二、配置SPI/** * @brief 初始化SPI1 * @note SPI1_NSS -- PB12 * SPI1_SCK -- PB13 * SPI1_MI -- PB14 * SPI1_MO -- PB15 * @param None * @retval None * @author PWH * @date 2021/3 */void SPI1_Init(void){ RC原创 2021-05-02 13:30:15 · 4094 阅读 · 7 评论 -
TI公司16位ADC芯片 --- ADS1158 单端模式使用心得
以下为个人理解,如有不对的地方欢迎指正。一、电路单端模式采集16路模拟量电路二、SPI使用外接16M晶振时,SPI最高波特率为8M根据时序配置SPI/** * @brief 初始化SPI0 * @note SPI0_NSS -- PA4 * SPI0_SCK -- PA5 * SPI0_MI -- PA6 * SPI0_MO -- PA7 * @param None * @retval None原创 2021-05-02 12:51:00 · 8053 阅读 · 5 评论 -
锐能微RN8209D开发记录及资料获取
如果供电使用MP150这种非隔离AC-DC芯片提供,并且按照典型电路设计,会导致板上的GND既不和零线也不跟火线直接连在一起,导致测量误差大。所以无论是隔离还是非隔离供电,板上GND都须和零线或者火线直接相连。原创 2023-01-03 14:42:15 · 3884 阅读 · 8 评论 -
AC7811系列 程序上禁用了SWD之后,复位引脚拉低再拉高下载不成功
在STM32上,如果SWD功能重定向为GPIO导致无法下载,则只需在点击下载前拉低复位引脚,点击下载的同时释放复位引脚就能下载。成功率没有百分百也有百分之九十。但是在杰发的AC781x上,这个方法行不通。参考了这篇文章后,我尝试了一下。将BOOT引脚拉,保持;使MCU复位;点击下载;下载完成后恢复BOOT0为低。实践证明这个方法可行。...原创 2021-04-23 13:27:17 · 724 阅读 · 0 评论 -
简述单片机的DMA转运数据原理和编程实现
在GD32F30x中,ADC0对应DMA0的通道0.在初始化了ADC0和DMA0_CH0后,ADC0每转换完规则组中的一个通道,将转换结果存至RDATA寄存器,并向DMA0发出请求。DMA0响应,从ADC0_RDATA寄存器读走AD值并存入我们预先开辟的一段内存空间(例如定义的一个数组)。ADC0继续转换规则组中的下一个通道,转换完成再次发起dma请求,直到该规则组所有ADC通道被转换完(使能了连续转换的例外)。ADC规则组举例说明作用:向规则序列寄存器写入该序列的待转换通道数量,并写入各个通道编号。原创 2021-04-21 16:22:39 · 1290 阅读 · 0 评论 -
GD32用ADC扫描模式+DMA传输 查询方式等不到EOC标志置位
按兆易创新官方文档 GD32F30x_用户手册_Rev2.5.pdf 编写ADC扫描规则组并开启DMA传输的程序。在软件触发转换之后,继续运行其它代码,隔一段时间查询一次EOC标志。查询到EOC标志位恒为0,但是DMA确已将数据搬运到定义的数组缓冲区中。所以这种方式不可行,改为查询FTFIF位,程序正常运行。猜想应该是DMA响应并转运ADC转换值寄存器数据,相当于程序读取了转换值寄存器。由于EOC标志位读后自动清零的特性,导致用查询方法查询不到其置位。...原创 2021-04-21 13:24:12 · 2086 阅读 · 1 评论 -
ESP8266 AT指令 手机配网失败经历和解决过程
在用STM32作主控DIY自动联网校时的时钟时,用到了ESP8266-12E这个WiFi模组。STM32通过串口发送AT指令给ESP8266获取网络时间,不需要对ESP8266有很深入的了解,很方便。但是完工后发现一个问题 :要换一个WiFi时该怎么做?每换一次都修改STM32的程序写入或者直接用串口助手连接ESP8266指定连接的WiFi的ssid和password?太麻烦了。微信公众号 “ ...原创 2020-01-30 16:50:04 · 10348 阅读 · 0 评论 -
三菱PLC之Q02HCPU 通讯数据(读软元件)破译记录
当接到破译Q02HCPU的通讯协议任务的时候,我是很懵逼的,因为我对PLC一窍不通。虽然说能通讯上采得到数据就能破译,但是不知道该用什么软件和Q02H通讯,因为不懂plc,而这款plc的网络讨论却约等于零。搞了好几天之后才知道可以用QC30R2线缆连接电脑,电脑上安装GX Developer和Q02H通讯。QC30R2一头插PLC,另一头为RS232母头。因为我的笔记本没有RS232接口,所以我用一条USB-RS232转接线和QC30R2连接。但是搞了两三天,GX Developer和Q02H死活通讯原创 2021-04-17 18:35:28 · 2614 阅读 · 0 评论 -
SVN / Git:注册表中相关项优先级已最高,文件左下仍不显示“忽略”等图标的解决方法
自从公司自己搭建了SVN服务器,就需要经常上传代码或设计资料。刚开始用我就发现我的TortoiseSVN与公司里同事的有些许不一样,例如,他们的每一个文件都是有图标的,很醒目地标注出文件的状态,但我的只有文件夹有图标,文件夹里面的文件和Windows原本的图标一模一样。如图:[文件夹图标正常][同事的][我的]虽然说缺少下标提示并不影响使用,但就是令人心生不爽,而且如果一个文件夹...原创 2018-11-27 11:13:06 · 2757 阅读 · 3 评论