- 博客(57)
- 收藏
- 关注
原创 水泵的扬程与高度计算
以水泵为例:1kpa的扬程,送水高度为0.1m,水的密度1000kg/m3 == 1g/cm3。循环流量(LPM),litre per minute 升/分钟。P :压强,N/m2帕斯卡 1kpa = 1P。ρ:密度 kg/m3。
2025-07-17 10:12:04
130
原创 win10电脑采用pyinstaller打包项目为exe,在win11电脑exe报错failed to start embedded python interpreter解决
尝试了在新的win10电脑上打开exe,正常,在win11上运行上一个版本的也正常。发现新增了py文件未包含在.spec中,在a = Analysis( ['test.py','1245.py','3456.py'],中将自己创建的python文件都写到[ ]里,问题解决。
2025-05-27 13:38:20
302
原创 python 多文件工程打包成exe报错
pathex=['D:\Program Files\Python39\Lib\site-packages'],#指定库路径。pathex=['E:\Program Files\Python39\Lib\site-packages'],#指定库路径。发现在E盘,实际我的工程在D盘这里是环境没有隔离导致仍然调用E盘的库文件,答:打开cmd,输入所在exe的路径便能看到完整的报错信息。最后在CMD中使用pyinstaller GUI.spec。问题:在调试过程中,出现瞬间黑屏报错的瞬间如何去处理呢?
2025-05-26 16:30:06
327
原创 bootLoader中的boot和app hex文件解析
xx:类型 00-代表本行是数据记录、01-代表HEX文件结束、02-标识扩展段地址记录,表明后面所有数据地址需要加上段地址左移4位、03-开始段地址记录:开始段地址记录 04-标识扩展线性地址记录,后续数据地址+线性地址左移16位作为基地址,在下一个04类型前有效。05-开始线性地址记录:程序入口地址。两个字节,04扩展线性地址,表明地址从0x800 0000 开始。两个字节,扩展线性地址,表明地址从0x800 0000 开始。两个字节,扩展线性地址,表明地址从0x800 2000 开始。
2025-02-19 14:12:19
447
原创 解决Python 提示missing 1 required positional argument
问题1已输入参数typeerror: getsectionallvalue() missing 1 required positional argument: 'sectionname'原因,调用了类中的某一个函数(一个参数)类没有实例化,导致出错,问题2,tkinter的控件无法通过bind函数修改控件文字。原因,创建控件时加了grid,调用bind在之后。解决,在Bind后加grid定位。解决,创建一个类的实体解决。
2025-02-12 16:52:00
601
原创 采用文件路径安装库到不同的python环境
C:\Users\Administrator>pip3 install --target=D:\PycharmProjects\pythonProject3\venv\Lib\site-packages configparser
2024-02-18 13:38:50
304
原创 mysql8.0误删用户导致The user specified as a definer does not exist
打开cmd输入mysql -u root -p,输入密码 如果没有弹出Enter Password:那就将mysql的路径添加到系统的环境变量,在继续。创建用户,输入create user 'mysql.infoschema'@localhost identified by '123456';给用户权限,输入 GRANT SELECT ON *.* TO `mysql.infoschema`@`localhost`;初学mysql,误删infoschema用户,导致无法访问数据库。
2023-03-19 17:13:54
246
原创 import mysql.connector错误
一直报错ModuleNotFoundError: No module named 'mysql.connector';最近准备用python操作mysql,使用pip3 install mysql-connector-python,成功后。才发现是文件名为mysql.py导致识别出问题,修改为其他名字后解决。
2023-02-12 14:32:28
1676
4
原创 GD32E50x系列ADC-DMA首次转换错位
原因是在首次启动DM A转换时,已经产生了一次EOC标志,导致DMA cnt寄存器次数减1,下一次转换的目标地址向后偏移一个。那为什么会产生EOC标志呢?逐步排查后发现是adc_special_function_config这个函数在初始化时重复调用了两次导致,应该是芯片缺陷吧。
2023-02-02 10:49:20
467
原创 GD32e50x系列PB4无法输出pwm
最近在使用GD32E50X时,需要将PB4输出PWM,发现怎么也没有波形,也重映射了。查找手册发现PB4为NJTRST调试接口,需要配置SWJ_FCFG寄存器取消然后重映射就可以。如果管脚默认为gpio则直接重映射。
2023-02-02 10:36:51
462
原创 GD32和ST32 硬件I2C锁死问题分析解决
在实际过程中可能会发现硬件I2C锁死,无法读写的情况。STM32的话可以通过查询BUSY标志位来判断,进而使用软件复位的方式来回复异常状态,重置i2c,即可解决。GD32的情况有所不同,GD调用软件复位会清掉I2C配置,不如重新配置i2c或者使用stop来清除Bsy。
2022-11-06 15:24:30
3630
1
原创 STM32G473晶振不起震
最近遇到STM32G4晶振两端无波形,以为没启震,最终发现是示波器探头的问题,其探头实际电容为200pf,MCU晶振管脚驱不动。实际上有一个MCO功能,可以将晶振的波形通过此功能输出到一个管脚上查看。刚好下图是晶振的频域特性,可以看到当频率在Fs和Fa之间时为感性负载,这时就可以看作电容三点式LC振荡器,电感和电容相互充放电,不考虑损耗,不就震荡起来了吗。可以看到比较接近32.768的是6pf左右,另外换成200pf的电容也是可以启震的,探头加上去不行,应该是两端的电容不匹配,另一个是探头的输入电阻。
2022-09-19 20:34:55
618
原创 FATFS介绍及相关参数计算
MBR 主引导记录(MBR,Master Boot Record)由 446 个字节的引导代码、64 字节的主分区(4 个)表及两个字节的签名值“55 AA”组成。#define BPB_FATSz16 22 /* FAT size (16-bit) [sector] (WORD) */96个。四个分区,每个分区为16字节信息共64字节,加两字节的数字签名刚好为一个扇区大小512,其他填0。一个保留扇区,一个fat文件扇区32,512个目录,每个目录32个字节,占32个扇区,
2022-08-20 10:55:24
1059
原创 瑞萨RA6系列bootloader分析
Flash Layout|Image 1 Flash Area Size (Bytes) 大小为0x20000从0x80开始。:Flash Layout|Image 1 Header Size (Bytes) 大小为0x80从0开始。0x0c地址存储app本身文件大小 我的为0xfc6c,不包含Header Size。0x80开始存放的是中断向量表,第一个为SP,第二个为PC共112个。0x2c, 0xb6, 0x79, 0x80, ])字节结尾。0x14地址存储APP版本。...
2022-08-03 21:00:24
1012
原创 Vscode Backspace删除失效
最近忽然发现在VScode中无法使用使用backspace删除,可以用delete倒着删,非常不方便。结合网上和自己的实验。解决如下:法一:精准打击法二:全部干掉
2022-07-08 22:21:55
10286
1
原创 homebus对照表
0 aa1 ab2 ae3 af4 ba5 bb6 be7 bf8 ea9 ebA eeB efC faD fbE feF ff
2022-07-08 22:20:09
819
原创 Homebus解码和加码
最近发现Homebus,将电源和通信数据经过MAX22088处理后叠加在一起了,所有设备都通过电源进行通信,省去了额外的通讯线。软件要处理的就是在每个byte里插入aa,如下int16 HbusSendData(uint8 *destin, uint8 * src, int16 src_len ) { uint8 i = 0; for (i = 0; i < src_len; i++) { //发送低位 destin[(i*2) + 0]
2022-07-08 22:18:05
1485
原创 瑞萨报Type name is not allowed错误
Type name is not allowed产生来源:for(uint16_t i = 0;i<10000;i++ )产生原因:c90不允许解决方案:在compile options选项 中C language 下,将Standard of language 选项切换为C99
2022-05-29 19:11:38
1661
原创 AT24C16和I2C
AT24C16总结容量:256*8Byte,数据地址计数器:8位,只能寻址256个字节,需要分成8块,每块用A2-A0指定。断电后,内部数据地址计数器清0;上电期间,保持最后一次的读写地址,但是会有翻转地址的情况读翻转: 最后一页的最后一个字节地址翻转到第一页的第一个地址写翻转: 当前页的最后一个字节地址翻转到同一页的第一个地址24C16的页是由低4bit决定,所以1页16字节读模式实际只有两种:当前地址读:由内部数据地址计数器决定,只读1byte指定地址读:用户
2022-05-18 19:23:03
1156
原创 Ip地址 子网掩码 主机地址 网关地址 网段 网络地址 关系
只有公有ip才可以上网。同一网段下的网络ip才可以通讯。网络地址和主机地址由ip和子网掩码决定。有着相同网络地址的网络ip的集合叫做网段。不同网段之间通讯需要网关处理。网段近似等于局域网。...
2022-04-23 15:25:48
309
原创 灯板驱动芯片TM1628问题
TM1628最多可以读5个字节,不允许多读动态扫描:TM1628芯片最多写14byteSeg只能接led阳极GRID只能接阴极,不能反接由于SEG是P沟道开漏输出,不加外围,只能输出高电平寄存器移位由于多发了一次地址起始命令...
2022-04-23 15:19:42
1953
2
原创 网络开发遇到的术语总结
最近工作上需要用到网络这块功能,做个记录。ME: Mobile Equipment(移动设备)CS:Circuit Switched voice network (e.g. GSM, CDMA),电路交换.电话和短信等业务,主叫和被叫方之间建立电路连接,PS: Packet Switched data network (e.g. EDGE, UMTS, EVDO),分组交换 上网、FTP和流媒体note: 物联卡没有CS业务,只有PS业务IMSI: Inte...
2022-04-23 14:55:10
159
原创 E2STUDIO显示大小端问题
最近用到瑞萨RA6M2系列芯片,从MEMORY中看数据是大端存储,手册说是The Cortex ® -M4 core is fixed at little-endian order小端固定。那是哪里的问题呢?上手实验,定义一个16位的变量,赋值为0x1234然后取地址+0,看值0x34,取地址加1,看值0x12。确实为小端模式。那就是E2 studio 中的memory界面做了处理。...
2022-04-23 14:45:56
242
原创 数据从SIM卡到服务器
手机(移动端)上网前需要得到SIM的iMEI(身份证),得到后向对应的供应商(基站)注册网络,供应商会分给你一个临时私有ip。你访问优快云的服务器是以供应商的公有IP为中转,间接访问最终到你的手机上。可以查看自己手机里的状态,看看IP类型。 私有IP地址的范围有: 10.0.0.0-10.255.255.255 172.16.0.0—172.31.255.255 192.168.0.0-192.168.255.255...
2022-04-23 14:41:14
498
原创 瑞萨RA芯片DTC问题
DTC一直再发数据,最终发现是硬件上的接收脚上拉电平的问题,原本应为3.3v,实际上拉为1.8V。另外,DTC和DMA很类似,都不需要CPU参与处理,由硬件自动完成。区别:DTC的寄存器映射到一片RAM区,CPU无法直接访问,只能通过这片ram间接操作。...
2022-04-16 20:50:36
1025
原创 如何在不同的python虚拟环境下安装库
最近使用anaconda创建了不同python的虚拟环境,每个环境用到的库又不一样,只想包含需要的库。那如何操作呢?0列出所有的环境 conda env list1激活对应的虚拟环境 conda activate python382 安装需要的库 pip3 install pymysql3打开Pycharm后可以看到已经添加上了。...
2022-03-27 15:43:25
2365
原创 使用pyinstaller打包python exe 文件
当用Python作了一个exe时,想给别人用,可以其他人没有对应的环境怎么办。可以使用pyinstaller 封装。pip install pyinstaller 输入所在盘e:,然后使用cd 加文件名进入下级目录,可以使用cd..回到上级目录 Pyinstaller –F test.py在不同的虚拟环境下安装库0列出所有的环境 conda env list1激活对应的虚拟环境 conda activate python382 pip3 install pymysql3打开Py
2022-03-27 15:33:49
977
原创 为什么夏天家里空调滴水
一到夏天,家里的空调管子就一直在滴水。这个是为什么呢?答:室内的换热器温度很低,空气经过时会被吸走热量,液化成小水滴。南方的空气又比较潮湿,就会有比较多的水需要通过水管排出。有时还要加装水泵。这个是制冷循环中,室内在蒸发器这侧,才有这个现象。那制热的话就是结霜的现象了。这个时候室外在蒸发器这侧。室内在吹热气,把冷气搬运到室外,室外的换热器温度更低,经过的空气被吸走热量,凝华为小冰晶。潮湿的话,就变成了大冰晶。上面两个现象都出在蒸发阶段,冷媒从环境中吸收大量的热导致换热器表面温度很低,夏天低于
2022-03-14 14:44:31
219
原创 变量和一级指针和二级指针的异同
普通类型 ,不用跳转Int p ;P为变量的数据一级指针:跳转一次Int *p;P为指向int型的指针变量,是变量的地址初始化 Int *p = 0;不指向任何地址在应用中*P和p的不同,*p表示指向地址的内容,p表示地址*p = 4,表示将指向的变量内容修改为4P = 4 标志指向一个本身地址为4的变量二级指针:跳转两次Int **p,把变量的地址作为中间指针的内容,然后把中间指针本身的地址给p*p为中间指针可以将一个指针变量取地址给*p即可
2022-03-12 09:02:41
190
原创 英语剧推荐
专业之外,感觉有必要学习英语。以下推荐都是本人看过的。动漫:avantar(降世神通)bleach(死神)连续剧:gossip girl (绯闻女孩)inventing anna(虚拟安娜)
2022-03-06 11:34:22
112
原创 空调入门学习
空调按照热量交换方式,大概可分为下列几类:1 风冷冷风型,2 风冷冷水型,3 水冷冷风型,4 水冷冷水型。前者表示室外侧换热方式,后者表示室内侧换热方式。风冷冷风型的代表为氟机,大部分的家用机都属于这个类型。外机直接连到内机,安装简单,价格便宜。风冷冷水型的代表为水机,比如户式水机,安装较为复杂,需要独立的水循环系统,价格也稍贵一些,由于不是直接和室内换热,更舒适和环保,噪音也小,公寓和别墅使用较多。水冷冷风和水冷冷水常见的有冷却塔,冷量大,用于大空间建筑。比如工厂,商场等。造价昂贵。..
2022-03-06 11:10:56
193
原创 BootLoad中上位机与下位机交互
上位机 下位机复位 ----------------------------------à APP复位进入boot查询 2s内总线无数据 点击查询----------------------------------à 硬件名boot版本,APP版本 <------------------------------------ ...
2022-03-06 10:33:30
467
原创 数码管显示字符
共阳极数码管: #define D_0 0xC0 #define D_1 0xF9 #define D_2 0xA4 #define D_3 0xB0 #define D_4 0x99 #define D_5 0x92 #define D_6 0x82 #define D_7 0xF8...
2022-03-06 10:22:07
3958
原创 嵌入式常用软件
PC端监控通讯数据利器:CommMonitor代码比对工具:BeyondCompareModbus主:Modbus POLLModbus从:Modbus Slave持续更新
2022-02-23 10:20:39
1313
原创 如何批量用EXCEL将16进制取反
有时候需要对整个16进制数据取反,一个个取反麻烦耗时,考虑用excel批量实现。如下:以0x16为例,0x16所在位置A1分列,将16分离B1 使用HEX2BIN(B1)转换为0001 0110 C1 使用SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C1,0,2),1,0),2,1) 取反D1 BIN2HEX(D1)改为16进制加上0x即可实现需求。...
2022-02-23 10:09:28
5779
2
原创 瑞萨常用选项
瑞萨常用查看选项选项字节: Link Options中Device段的划分: Link Options中SectionMap文件相关信息的输出:Link Options中List优化方式:Complile Options z中 Optimization
2022-01-15 15:10:52
789
原创 瑞萨RL78执行顺序
断电后或者复位后,程序去哪里了?先去到复位向量那里地址为0x0000,然后跳转到对应的启动函数_start:完成一些堆栈,ROM的初始化。然后跳转到main函数执行逻辑。当有硬件中断时,会查看是配置为可屏蔽中断,通过后,跳转到向量表对应的中断函数。那么带boot的程序又是否一样呢?其实是一样的先去到复位向量那里地址为0x0000,然后跳转到boot的启动函数_start,无需求时在跳转到app程序的_start启动函数。在app程序需要用.CSEG指令指示汇编器一个段的起始,手动将_star
2022-01-15 14:56:43
1674
原创 FreeRTOS的任务调度总结,
原则1,保持最高优先级的准备态任务先运行原则2:同等优先级任务,依次享有时间片任务状态:运行态,和非运行态(准备态,阻塞态,挂起态)任务调度函数的执行时机:1.每个时间片结束 2.高优先机的任务在准备态3.运行态任务进入阻塞态空闲任务:当任务被删除时,清除内核资源,主要是释放被占用的内存...
2021-12-09 12:08:49
254
原创 RS485知识点
为什么RS485空闲时的电平要求大于+200mv?这不是很容易被接收端接收吗?a.其实,如果RS485的AB线空闲电平如果小于+-200mv,485芯片的输出不定,有些芯片会输出高。为避免这种问题,需要设置AB线的压差大于+-200mv。b.哪为什么需要设置为+200mv呢?如果设置为-200mv总线上就一直是低电平,mcu会认为有起始位,误触发接收中断。...
2021-11-23 15:00:26
3902
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人