- 博客(64)
- 资源 (45)
- 收藏
- 关注
原创 一个例子告诉你使用sscanf将十六进制字符串转换成二进制值
【代码】一个例子(带输出结果)告诉你使用sscanf将十六进制字符串转换成二进制值的方法。
2022-12-13 16:57:35
706
原创 Inno Setup Compiler创建的安装包(EXE)文件版本信息为0.0.0.0
先发个截图看看情况:现在我想要实现的效果是: 当鼠标悬停到这个安装包上时, 这些信息当中的文件版本与我的安装包版本一致, 即1.0.19.0。解决方法:在描述中的[Setup]段中加入参数VersionInfoVersion=1.0.19.0即可, VersionInfoVersion是负责指明上面图片中的文件版本的。下面给出我的部份Script内容:; Script generated by the Inno Setup Script Wizard.; SEE THE DOCUM.
2021-03-16 18:37:55
1202
原创 python报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb8 in position 9: invalid start byte
python版本3.9.1场景: 将一个byte数据串转成字符串格式时使用.decode()报错:分析:出现异常报错是由于设置了decode()方法的第二个参数errors为严格(strict)形式造成的,因为默认就是这个参数,将其更改为ignore等即可。例如: byte_line.decode('utf8', 'ignore')...
2021-02-19 12:40:47
1636
原创 python使用email模块报错: ModuleNotFoundError: No module named ‘email.utils‘; ‘email‘ is not a package
Python版本: 3.9.1首先要明确的是在python3.9.1中email模块是python自带的, 无需安装, 直接使用import就可以导入使用。先看看报错的详细情况:找了许多资料, 最后发现原因居然是当前工程目录下有一个email.py文件导致的加载错误. 直接把当前工程目录下的这个email.py文件重新命名就解决问题了。按照 上面的说明, 把email.py文件重命名后再运行程序就正常了。...
2021-02-19 10:41:40
3099
1
原创 xlwings常用操作
1. 获取工作表的最大行数app = xw.App(visible=True, add_book=False) # visible=True表示可以看到操作过程, 为False表示看不到操作过程wb = app.books.open(jlink_install_path + '\\ETC\\JFlash\\Flash.csv') # 打开工作薄sht = wb.sheets['Flash'] # 选择工作表nrows = sht.used_range.last_cell.row # 获
2020-11-02 15:28:57
3491
原创 ARM-CortexM0固件中函数实际在Flash中的存储地址与调用地址(引用地址)不一致
ARM-CortexM0实际项目中发现, Keil编译后函数的实际存放地址是按4字节对齐的, 函数的起始地址为偶数. 但仿真时发现调用函数时往PC寄存器写入的都是奇数(函数实际存放地址 + 1)。为了验证, 写了一段函数, 执行的操作是以函数名的方式将函数地址给一个变量, 查看变量的值,仿真截图如下:发现我们如果如上面的代码一样引用这个函数地址的时候, 传递过来的地址也是函数的实际存放地址+1.原因分析:ARM-CortexM0的内核运行规定调用函数时传入的函数地址必须为奇数, 否则就会产.
2020-10-23 18:22:28
1191
原创 使用Keil自带的工具生成bin格式文件
Keil版本信息Keil的工程配置选项中一般可以很容易的配置是否生成hex文件, 但不能直接配置生成bin文件. 要想生成bin格式的文件的话可以使用其自带的工具fromelf, 具体步骤如下:上图中Run#n一定要勾选上, 否则不会执行这个命令. 按上图配置好后, 点击OK回到主界面重新编译工程就会生成bin格式的文件了:...
2020-09-02 18:17:16
585
原创 ubuntu 18_04下安装Virtual Box后, 创建的虚拟机无法正常使用USB接口
场景, 我在Ubuntu 18.04中使用Virtual Box 5.2.30版本创建了一个windows 10-64bit虚拟机, 发现实际的硬件机器上插上USB设备后, 在虚拟机的可选USB设备列表中没有出现任何的USB设备(如下图中的设备没有出现):解决方案:1. 下载并安装virtual box 扩展插件, 下载地址:https://www.virtualbox.org/2. 用管理权限编辑/etc/group保存后重新启动虚拟机, 就可以发现USB设备列表了。..
2020-09-01 11:50:01
595
原创 python中调用*.dll中的接口提示ValueError: Procedure called with not enough arguments (8 bytes missing) or wron
在一个项目中, 引用了工具厂商提供的.dll文件, 首先import ctypes然后最开始使用的是 ctypes.CDLL的方式加载的动态链接库test_dll = ctypes.CDLL('xxxxxx.dll')其中一部份接口可以正常调用,如下:test_dll.fun_xxxxxx(yyyy)但在调用某些接口, 特别是带参数的接口时, 提示以下错误:ValueError: Procedure called with not enough arguments (8
2020-08-21 09:10:41
1266
原创 将python字符串转化为标准C字符串并获取长度
# -*- coding: utf-8 -*-import ctypes as ctdef python_string_to_c_string(python_string): str_tmp = python_string.encode('utf-8') # 使用utf-8对字符串重新编码 return ct.c_char_p(str_tmp) # 转化为标准C的字符串格式if __name__ == '__main__': tmp = python_string.
2020-08-19 10:13:18
1415
原创 Anaconda中32位和64位开发的切换
(1) 查看当前版本以及conda的位数: conda info(2) 从64位切换到32位开发模式:set CONDA_FORCE_32BIT=1(3) 再切回64位开发模式:set CONDA_FORCE_32BIT=0在使用conda创建python开发环境前, 切换到32位或64位(前提是当的操作系统是64位, 我测试时安装的Anaconda也是64位版本)就可以通过:conda create -n env_name python=3.7类似的命令来创建对应位数和版本...
2020-07-03 10:36:47
13033
5
原创 pyinstaller与innosetup结合打包
pyinstaller是常用的python应用软件打包工具, 能够根据.py文件(或者说python工程)来生成.exe文件, 并且将应用程序需要用到的依懒项也打包到一起(与exe文件同目录或者直接与exe文件一起打包成一个新的exe文件, 这个是根据pyinstaller的参数-D或-F决定的)。但使用pyinstaller直接打包会将许多python工程中没有用到的库也打包进去造成最终应用软件目录(打包参数为-D时)占用空间很大, 或者是最终生成的一个exe文件太大, 不利于应用软件的分发和存储...
2020-07-02 23:48:50
1407
原创 pyinstaller打包时提示UPX is not available.
我开发PyQt应用程序时, 开发环境是由Anaconda来管理的, 开发完一个窗口应用程序, 在进行打包时有个奇怪的提示:显然, 这条有这个提示, 后面的打包肯定不能正常完成了。查了一下, 原来是pyinstaller使用UPX压缩, 所以根据下面的步骤安装了一个UPX就好了:(1) 到官网https://upx.github.io/下载了UPX(我的是Window 32版本), 下载下来是一个压缩包(2) 解压得到 upx.exe文件(3) 把exe文件拷贝到pyinstall..
2020-07-02 14:46:07
48612
19
原创 Qt查看控件的子控件及相关Stylesheet的参考
QT Creator自带详细的帮助功能,打开Qt Creator后点击"帮助"然后搜索"Qt Style Sheets Reference"即可查看Qt关于Stylesheet相关的帮助,其中就包含每个Qt自带控件的子控件说明:
2017-08-22 15:36:45
560
转载 nfs挂载时提示:mount: wrong fs type, bad option, bad superblock on的解决方法
在使用beaglebone-black挂载到ubuntu的nfs服务时提示:mount: wrong fs type, bad option, bad superblock on,具体情况如下图:具体的解决方法也如上图所示,直接在beaglebone-black的系统上安装nfs-common即可,命令就是:sudo apt-get install nfs-common
2017-07-29 22:03:04
11658
转载 如何擦除Beaglebone-black的eMMC
bb-black 板载emmc文件系统内容被破坏掉了,如何擦除其内容?研究了下在uboot下确实可以完成这一目标:进入uboot终端(根据终端打印信息在boot相应阶指定时间内按空格进入):运行 1、选择emmcU-Boot# mmc dev 1 mmc1(part 0) is current device2、擦除emmc。U-Boot# mmc erase 0 2
2017-07-28 22:07:09
964
2
转载 python问题:IndentationError:expected an indented block错误解决
原文地址:http://hi.baidu.com/delinx/item/1789d38eafd358d05e0ec1df Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。在编译时会出现这样的错Indentatio
2017-07-28 15:57:08
616
转载 pyqt5安装eric6说检测不到Qsci
本文根据网址: http://bbs.youkuaiyun.com/topics/391080378?page=1 并结合自身安装过程整理!以下是我安装过程中,命令窗口的输出,第一次安装的时候提示错误:Sorry, please install QScintilla2 andits PyQt5/PyQt4 wrapper.Error: cannot import name 'Qsci'然后根据上面
2017-07-28 15:54:27
3743
原创 Ubuntu 16_04开机配置,以输入法设置为例
1.查看Ubuntu帮助文件关于开机启动程序设置的页面:2. 根据上面所描述的进行输入法切换的配置:下图的命令完整的是:ibus engine table:wubi-haifeng86 - WuBiHaifeng86 当然前提是保证系统使用ibus且安装了引擎table:wubi-haifeng86 - WuBiHaifeng86,否则该命令
2017-07-07 11:25:29
389
原创 Windows7中右键菜单的"发送到"菜单损坏的修复办法
在SendTo文件夹的空白处按鼠标右键,2000/XP系统下路径为C:Documents and Settings用户名SendTo;Vista系统下路径为C:/user/用户名/AppData/Roaming/Microsoft/Windows/SendTo/(注意:由于文件都是隐藏属性,所以需要在“文件夹选项”中打开“显示所有文件和文件夹”,才能看到相应的目录)点选“新建/文本
2017-02-10 10:34:15
3469
原创 【JAVA】static 修饰的静态成员变量,静态成员函数及静态代码块
1. 静态成员变量:由static修饰的成员变量,可以由类名直接调用(当然也可以由该类的对象进行调用),无论创建了多少个该类的对象,静态成员变量始终只有一个实例。2. 静态成员函数:由static修饰的成员函数,可以由类名直接调用(当然也可以由该类的对象进行调用),静态成员函数内不能使用非静态成员变量。
2016-10-21 22:52:04
621
原创 正则表达式两个条件的或关系(满足其一即可)
例:在按条件获取MAC地址时,有两种格式的MAC地址认为有效1. AB-00-CE-AC-ef-3C2. AB00CEACef3c则对应的正则表达式为:QRegExp mac_in_regExp("(((([0-9A-Fa-f]{2})(-[0-9A-Fa-f]{2}){5}))|([0-9A-Fa-f]{12}))");以上例子在Qt中使用。
2016-10-09 15:24:52
31626
原创 stm32单片机中断向量偏移地址设置时的对齐要求
void MY_NVIC_SetVectorTable(u32 NVIC_VectTab, u32 Offset) { assert_param(IS_NVIC_VECTTAB(NVIC_VectTab)); assert_param(IS_NVIC_OFFSET(Offset)); SCB->VTOR = NVIC_VectTab|(Offset & (u32)0x1FFFF
2016-09-17 15:07:53
3699
1
转载 Qt使用第三方串口类qextserialport无法打开串口的可能解决方案(文章中描述的可以解决)
我前面的博客提到了,在我的笔记本电脑中用QT的第三方串口类QextSerilPort打不开串口,今天终于解决了,下面简单分享一下:先说下环境:我用的是QT4.8.0,每三方的串口类QextSerialPort, USB转串口的数据线,ZEBRA888-TT的打印机(支持EPL语言);前两天我在QT中试着打开串口,怎么也打不开,奇怪的是在台式机和别人的笔记本电脑中都能打开,而且更令人
2016-09-13 18:21:17
4171
原创 使用Qt5.5自带的windeployqt.exe工具,打包程序依赖的文件
Windows下Qt5.5自带了工具windeployqt.exe,可以打包Qt编译生成的*.exe文件需要的Qt库文件,具体使用步骤如下:1. 添加环境变量
2016-09-10 22:48:02
312
原创 Qt中十六进制的QString字符串转换成十六进制数的方法
在之前错误地以为QString::toInt只能转换成十进制整数,因此在QString的十六进制字符串转成十进制花了一些心思,专门写了一些类似QString_to_hex的函数来进行这些转换,相信以后不会再犯这种错误了,下面这个函数为例说明Qt中QString::toInt用于字符串转十六进制数的方法:/*****************************************
2016-09-08 14:10:52
18162
原创 Qt中获取文件夹路径的方法-QFileDialog::getExistingDirectory的使用
很多应用中,我们都会涉及到设置文件的存储路径以及读取路径,即获取一个文件夹路径(如:"C:/Users/Administrator/Desktop")来向里面写入文件或者从里面读取文件,下面是一个例子,做简单的路径获取足够了:QString file_path = QFileDialog::getExistingDirectory(this,"请选择模板保存路径...","./");
2016-09-06 20:49:19
17387
转载 Qt修改工程名称的方法
Qt 的下一部分作业需要在本次作业的基础上继续编写代码,不过我习惯一个个作业分开保存,所以就在考虑,怎么样能把作业的工程名改掉。大量时间查看 Qtcreator 各个设置项的内容之后,还是没有找到能修改工程名的地方。不过,事实证明,最老土的办法最实用。1. 除了 *.pro 这个工程文件以及动手写的 *.cpp, *.h 和 *.ui 文件之外,删除所有 Qtcreator 自己生成的
2016-09-06 19:57:29
2940
原创 Qt中用于限制输入ip地址数据的正则表达式设置的例子
这个例子中,是使用QLineEdit加入正则表达式来实现ip地址的输入功能的,不符合规范的数据将不能输入: QRegExp regExpIP("((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])[\\.]){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])"); QRegE
2016-09-05 19:48:50
4101
3
原创 Qt中使用正则表达式时'.'的转义字符不是'\.'
一个偶然的情况发现在Qt编程时,使用正则表达式匹配 '.'时使用 [\.] 提示有问题,如下两图所示:出现这种情况的时候,将 [\.] 改成[\\.] 就OK了!
2016-09-05 19:38:32
2526
原创 QT中如何将QString中的IP地址提取到一个4字节数组中
使用说明:首先这里针对的QString中的内容是指定的格式,如QString ip_tmp1="192.168.1.5"; 或者如QString ip_temp2="1.25.48.754";即所有符合ip地址规范的字符串作为QString中的内容且QString的内容除去ip地址外没有多余的内容。/**********************************************
2016-09-05 18:14:33
3128
1
转载 Eclipse中如何设置编码格式
使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File 本文以Eclipse 3.3(英文)为例加以说明: 1. 设置Workspace的编码格式: Windows
2016-08-29 20:55:02
1409
原创 STM8外部引脚中断EXTI配置后,系统不断进入中断的问题
一项目中使用STM8单片机,需要使用到外部的引脚中断功能,并且是上升沿触发,之前的代码是: GPIO_Init(GPIOB, GPIO_Pin_0, GPIO_Mode_In_FL_IT); EXTI_SetPinSensitivity(EXTI_Pin_0, EXTI_Trigger_Rising);但程序运行过程中经常出问题,即在配置后,系统立刻开始不断地进入中断服务函数(注:中
2016-08-23 11:53:38
3148
原创 FreeRTOS的优先级相关说明
1. FreeRTOS中优先级的数值越小,代表该任务的优先级越低,最低优先级为02. FreeRTOS中允许将多什任务的优先级设成相同的值,即允许有多个相同优先级的任务3. FreeRTOS中最大优先级为(configMAX_PRIORITIES-1),其中的configMAX_PRIORITIES是用户定义的常量,本身没有上限,实际限制优先级数量和任务数量的都是系统资源,根据需要来设置该
2016-08-18 21:39:01
3975
原创 Eclipse中如何修改每行最大显示字符数(格式化代码时避免自动换行)
有时候写代码一行写了很多,但是按下ctrl+shift+F 格式化代码的时候,Eclipse为我们将代码换行了,Eclipse倒是很热情,但是有些时候那一行嗲吗很紧凑完全没有必要换行.Eclispe 等于为我们帮了倒忙,这时候可以设置Eclipse,让它换行的时候每一行可以显示更多的代码数。windows -> preferences -> java -> code style -> fo
2016-07-15 15:09:09
1961
原创 Eclipse中的自动格式功能
在Eclipse编辑器中,我们对不同的语言进行代码编写或阅读别人的代码时有时候风格很乱,看起来不方便,这时候可以使用自动格式功能对代码进行整理,具体如下:1. 在代码的任意位置点击右键选择Source ------> Format即可
2016-06-22 14:39:06
375
转载 C语言函数参数中的省略号(可变参数)
C++允许定义形参个数和类型不确定的函数。例如,C语言中的标准函数printf便使用这种机制。在声明不确定形参的函数时,形参部分可以使用省略号“…”代替。“…”告诉编译器,在函数调用时不检查形参类型是否与实参类型相同,也不检查参数个数。例如:void ConnectData(int i,...)在上面的代码中,编译器只检查第一个参数是否为整型,而不对其他参数进行检查。
2016-06-17 16:12:48
1271
Gitlab邮件服务器配置.pdf
2020-11-26
正则表达式测试工具V1.0.0.exe
2020-03-18
32位进制转换计算器v1.0.7.exe
2020-03-17
32位进制转换计算器v1.0.5
2020-03-13
JLinkV8固件修复(丢失固件解决方案)
2019-04-29
USB命令(请求)及标准描述符等相关归纳介绍
2017-11-21
基于STM8的TM1616数码管显示驱动芯片驱动程序
2015-04-18
PSoc4的SPI从机模式下中断接收的例子
2014-01-20
意法半导体STM全系列微控制器:STM32、STM8元件以及封装库(还是很全的)
2013-05-07
使用STM32F2x7的以太网通信接口实施在应用编程IAP
2013-02-22
如何使用Keil生成bin(二进制)格式的文件--详细图文说明
2013-02-22
使用MEGA8制作简易Arduino开发板(完全支持串口更新固件)
2012-12-05
基于MSP430F5438的TLV2543 TLC2543驱动程序
2012-08-09
基于51单片机的TLV2556/TLC2556模数转换器驱动
2012-08-09
基于MSP430的TLV2556(TLC2556)模数转换器应用
2012-08-09
基于51单片机和Proteus的ADC0804仿真
2012-08-09
STM32F2xx串口的使用(中断方式接收)
2012-08-09
STM32F2xx的RTC使用[串口显示及查询]
2012-08-09
基于STM32F10x的LCD12864液晶驱动
2012-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人