自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (2)
  • 收藏
  • 关注

原创 宏定义#define 和该文件下使用到的结构体成员的名称一样,导致失败

在后面使用到了一个结构体变量,它的名称也刚好是和宏定义的名称相同,这样就导致变异失败了,原因是宏定义的优先级比较高,会优先替换该目录下的文件里面相同名字的变量,导致后面使用到这个名称的使用都会被替换掉,导致编译失败。这种写法也属于宏定义名称的不规范, 默认宏定义的名称要全大写,结构体的成员默认用小写,这样就能避免冲突。在文件头定义了一个这个宏定义。

2023-04-25 18:18:44 336

原创 整理了34个Python自动化办公库!需要的时候方便找

本次内容涵盖了Excel、Word、PPT、ODF、PDF、邮件、微信、文件处理等所有能在办公场景实现自动化的库,我找了些资料然后整理了下。PythonExcel自动化库1.xlwings 库官网:https://www.xlwings.org/特点:xlwings 是开源且免费的,预装了 Anaconda 和 WinPython,可在 Windows 和 macOS 上运行。通过 Python 脚本或 Jupyter notebook 自动化 Excel,通过宏从 Excel 调用 Pyth

2021-08-29 10:28:48 844

原创 stm32 cubemx 新建项目一直报错的问题终于解决了

之前一直都是自己写代码一点点写配置程序的,后面不是听说stm32有一个stm32 cubemx可以自动生成项目代码并配置好功能吗,后面就下载下来试了下,结果一堆坑,出问题都找不到解决方,后面花了好长时间,终于把一些问题解决了。1、关于下载安装soft pack包的问题,千万不要在线安装,最好是自己去官网下载下来,然后进行离线安装,不然很容易出现安装错误,如果最新的安装包安装失败,可以试下老一点的版本。2、新建项目时,老是弹出下载什么什么文件的进度条,最可气的是在进度条的最后总是出现下载错误,明明需要的p

2021-07-02 10:46:02 7810 5

原创 linux虚拟机设置共享目录和设置自适应屏幕大小的方法

之前一直用VM tools进行设置共享目录的,但是经常容易出错,设置不成功,后来找到了一个方法,用 open-vm-tools,看了下介绍,这个是开源的,而且还能解决虚拟机里面屏幕大小的问题,超级棒。下面介绍下使用方法:1、sudo apt-get install open-vm-tools 这个是用来安装open-vm-tools2、sudo apt-get install open-vm* 这个是用来安装一些依赖包的,不然无法生成共享目录3、若是要在开机是自动挂载共享文件夹,则需

2021-07-02 10:25:42 596

原创 9个处理Excel的Python库,优劣比较

9个库的简介环境配置及可实现操作1、xlrdxlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件。http://xlrd.readthedocs.io/en/latest/1、xlrd支持.xls,.xlsx文件的读2、通过设置on_demand变量使open_workbook()函数只加载那些需要的sheet,从而节省时间和内存(该方法对.xlsx文件无效)。3、xlrd.Book对象有一个unload_sheet方法,它将从内存中卸载工作表,由工作表索引

2021-04-01 14:16:25 7260

原创 C语言写链表,好久没写数据结构了,花十分钟写个链表

/*#!/bin/bash#shell编程实现冒泡排序read -p "please input enement:" -t 1read -a num echo num:$num array=(12 121 321 41 521)echo arrayfor(i=0;i<${#array[@]};i++)do for(j=0;j<${#array[@]};j++) do if [ ${array[$j]} -gt ${array[$i]} ] then.

2021-03-31 17:14:37 134

原创 用C语言自己实现strcat,strcmp,strcpy,超详细注释

char *mystrcat(char * dest, const char * src){ char *tmp = dest;//定义一个指针指向dest的开头位置,保存好起始位置 while(*dest != '\0') dest++;//指针指向dest的\0位置 while((*dest++ = *src++) != '\0');//将src的值赋值给dest,并判断指针是否已经指向了\0位置 return tmp;//返回dest的起始位置 }char *mystrncat(c

2021-03-31 16:46:35 195

原创 C++内存分配的三种方式

不同的内存分配方式,有不同的内存调度机制。C++ 语言的三种内存分配方式分别是:静态存储区分配、栈内存分配和堆内存分配。静态存储区分配静态分配方式下的内存在程序编译的时候就已经分配好了且存在于程序的整个运行过程。例如 static 变量,其生命周期随程序的结束而结束,而非像一般变量随函数或作用域的结束而结束。除了 static 变量,还有一种全局对象 static object,也可以存放在静态存储区。栈内存分配栈内存分配方式下的内存是存在于某作用域的一块空间。例如调用某个函数时,函数内局部变量的

2021-02-01 12:02:49 1892

原创 CPU卡的一个发卡详细过程

1.CPU卡发卡流程2.dc_request 响应3.dc_anticoll 防冲突4.dc_select 选择5.dc_pro_resethex 复位6.数据加密码 利用复位返回的数据,加密要写到卡里面的数据key memcpy(&Key[0], &recbuff[0], 8); memcpy(&Key[8], &recbuff[24], 8);加密key获得ExpKey ExpandKey((unsigned char*)Key, Exp

2021-01-15 10:46:51 1406

原创 GD32移植到STM32开发平台

我的移植是在STM32F103的库函数上进行修改后实现的,修改完的工程重新编译下就可以直接下载使用。时钟修改硬件SPI内部flash硬件IIC本文章参考了https://blog.csdn.net/u014471291/article/details/79030370只是大概的移植步骤截图了出来,更具体一点的,你们可以参考下这篇文章。...

2021-01-08 11:58:28 2290 5

原创 解决STM32CubeMAX创建新工程会提示下载文件失败和生成代码之后打开工程文件缺少或空白问题

昨天真的是给ST给搞炸裂啊,把STM32Cube下载下来之后,安装很简单,很快就成功了,心中一阵欣喜,但是接下去的一幕让我心态崩了。首先,要安装HAL库文件,这里我点的是在线安装,但是没想到的是,下载到还剩最后几M的时候,就卡住了,后面就提示某某文件下载失败,好吧,在线安装不行,那我就离线安装,从官网下载下来后,安装。坑人的是,我安装的最新版的居然提示要先安装低一点版本的,最坑的是,我在官网居然没有找到那个低版本的,没得办法,只能安装另外一个版本的试下,终于,HAL库安装成功了。接下来就是新建项目了,

2021-01-06 11:40:10 3467 3

原创 关于unsigned char 类型的数据,按位取反~操作的问题完美解决

大家先来看一段代码#include <stdio.h>int main(){ unsigned char block = 4; unsigned char a = 0x00; unsigned char b = 0xff; unsigned char data[17] = "\x00\x00\x00\x00\xFF\xFF\xFF\xFF\x00\x00\x00\x00\x04\xFB\x04\xFB"; if((data[7] != (~data[3]))||

2020-12-31 11:12:49 1784

原创 M1卡的块值的加、减、重储操作

M1卡的存储结构是按块来进行存储,一般分64块(S50卡),每四个块组成一个扇区,每隔扇区的结构图如下:一般的块是用来存取数据的,但是还有一些特殊的用途,比如钱包功能,这种情况下就需要对块的数据进行特殊处理,以严谨的数据来确保钱包的安全钱包值有四个字节大小,但是其按照小端存储的方式,即低字节在前,高字节在后。比如钱包是1000,转换成16进制是0x000003E8,块里面存储的0到3字节数据为E8 03 00 00,。钱包值取反为17FCFFFF。地址是指该块的块地址号。举例:E80300

2020-12-30 10:53:03 1831

转载 Flash芯片的通信协议,分类和特点

Flash 存储器,简称 Flash,它结合了 ROM 和 RAM 的长处,不仅具备电子可擦除可编程的性能,还不会因断电而丢失数据,具有快速读取数据的特点;在现在琳琅满目的电子市场上,Flash 总类可谓繁多,功能各异,而你对它了解有多少呢?一、IIC EEPROMIIC EEPROM,采用的是 IIC 通信协议;IIC 通信协议具有的特点:简单的两条总线线路,一条串行数据线(SDA),一条串行时钟线(SCL);串行半双工通信模式的 8 位双向数据传输,位速率标准模式下可达 100Kbit/s;一种电可

2020-12-23 11:00:24 5459

原创 解决Python的库安装pip缓慢且容易出错的方法

前段时间,在装Linux的时候,更新指令下载很慢,后面发现连接到的是国外的镜像连接,找到了一个换源的方法,就是把原先的源,替换成国内的源,比如清华云,阿里云,之后速度就杠杠的。最近在学Python,里面的pip安装库的指令速度慢的也是令人发指,就想着和之前Linux的解决方法一样,换成国内的源,相信速度一定很快。我网上搜了一下,还真有这个操作pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple这个就是使用的例子

2020-12-16 13:43:45 112

转载 使用Keil下载单独的Hex文件到单片机内

前言初学STM32时,是通过串口1把Hex文件下载进STM32的,需要一个串口模块,而且还要设置BOOT0和BOOT1电平,然后通过FlyMcu软件进行下载,这也是一种不错的方法,这里我要介绍的是使用JLink调试器和Keil MDK-ARM来下载Hex文件,无需源代码,只需要一个调试器。所需要的工具和软件Hex文件,如Demo_STM32.hexKeil软件,v4或v5版本,如Keil v5.16aARM调试器,Jlink或ST-Link,如Jlink v9STM32开发板,如STM32F10

2020-08-31 11:43:12 2197

原创 关于下载的二三事

XDM 2020 v7.2.10 全能下载器!https://www.52pojie.cn/thread-1149686-1-1.html(出处: 吾爱破解论坛)迅华云v1.4 不限速 磁力下载器(严禁转发)https://www.52pojie.cn/thread-1149460-1-1.html(出处: 吾爱破解论坛)分享几个牛逼还实用的免费软件,每个都让你惊艳!https://...

2020-08-26 10:07:36 407

原创 Linux虚拟机安装之后更新软件速度很慢,vim安装失败的原因

前几天重新安装了下Linux,我是用虚拟机安装了,一开始还好,但是后面是需要下载更新的,那速度把我要逼疯了,等了一个晚上,终于到了重启系统那一步了,重启进去之后,我使用apt-get install和apt-get upgrade进行更新,居然好多都在下载软件包那一步就失败了。最恶心的是,因为新装的系统,我要装vim,居然给我提示说没有vim的版本资源了,指令是apt install vim,这么都装不了,网上找了好几个办法都没用,奔溃啊。后来我看了下后台的错误报告,好多都是连接失败问题,就怀疑是下载服

2020-08-26 10:03:46 1285

原创 ubuntu 16和ubuntu20如何直接使用root登录系统

之前Ubuntu14好像还可以直接选择用户名为root进行root登陆,后面的版本好像就不行了,不能选择root登陆了。没有root权限,操作的时候好多情况都需要切换root权限进行操作,这样很麻烦,而且图形界面的操作的话很多需要root权限就很难进行了。以下是两种版本Ubuntu16和Ubuntu20设置root登陆的方法,其中Ubuntu16是使用最多最稳定的,Ubuntu20是最新的。其他版本的暂时没操作过了。Ubuntu16设置root登陆1.首先设置root用户密码:`# `sudo pa

2020-08-26 09:50:05 1258 5

原创 用JAVA写链表

public class Link { public static void main(String args[]){ LinkList all = new LinkList(); all.add("A"); all.add("B"); all.add("C"); all.remove("A"); Object [] data = all.toArray(); for(int i = 0; i < all.size(); i++){ String str = (S.

2020-06-12 10:30:25 260

原创 收集了一些图片素材网站

人物、风景、动物等摄影图片https://www.pexels.com高清视频、图片(中文网)https://www.ssyer.com,人物、风景、动物等摄影图片https://visuahunt.com照片、插画、矢量、视频https://pixabay.comhttps://unsplash.com/色彩靓丽的风景、桂物、动物http://en.freeipg.com.arl专业摄影师作品http://skuawk.com/高清静物、风景图片https://picjumbo

2020-06-02 17:11:54 1344

原创 16进制和字符串的相互转换

```cchar ptmp[128];void strtohex(char *in, u8* out){ int lengthp = 0; int lengthtmp = 0; int i = 0; memset(ptmp, 0, sizeof(ptmp)); memset(out, 0, 57); lengthp = strlen(in); for (i = 0; i < lengthp; i++) { if (in[i] <= '9') ptmp[i] = in[.

2020-05-19 18:00:26 207

转载 正则表达式30分钟入门教程

https://deerchao.cn/tutorials/regex/regex.htm

2020-04-28 15:44:02 206

原创 关于安装了pillow但是pycharm建立的项目仍无法找到PIL问题的完美解决

今天用pycharm使用pillow库的时候,出现一个问题,pillow库确定已经正常安装了,用sublime也可以直接编译,但是在pycharm上运行的时候,直接提示找不到PIL模块了,查看安装包也是正确的,但就是找不到PIL库,调了好久,终于找到问题了,主要还是新建项目的时候出现的问题。看图:问题:解决方法:这个方法应该也可以解决其他出现安装了库,但是pycharm无法找...

2020-04-28 10:27:31 3440 2

原创 听说想看贪吃蛇的代码,我抽空就用C大概写了一份

#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <Windows.h>#include <time.h>#include <conio.h> /*键盘输入获取*/#define STOP 0#define LEFT 1#...

2020-04-10 14:43:34 127

原创 MySQL入门操作记录

如果启动数据库失败但是没有错误返回 ,输入指令mysqld --initialize-insecure启动数据库:net start mysql关闭数据库:net stop mysql卸载数据库:sc delete mysql登录到MySQLmysql -u root -pmysql -D firstd-u root -pmysql -D firstd -u root -p ...

2020-04-09 14:39:21 110

转载 Sublime Text3前端必备插件

https://www.jianshu.com/p/edbc2a13494b

2020-04-07 14:51:06 1255

原创 嵌入式与硬件的资源与解答网站

https://bbs.21ic.com/http://bbs.elecfans.com/

2020-03-23 17:14:49 131

原创 PID算法介绍

我们知道,理论上的数据可以迅速呈现断崖式的线性变化。比如我们想要一个电机迅速从30降到20,理论曲线可以迅速反应到20,但是实际系统并不能呈现这种趋势,一定会是有坡度的曲线或者近似直线,所以要使用算法来进行控制来达到快速变化的标准。PID是一种快速到达预期值的算法,达到实际控制系统调节的快、准、狠。位置式PID精讲首先我们要了解以下开环控制和闭环控制:1、开环控制:输入量输入到系统之后,不受...

2020-03-19 09:54:42 3754

转载 I2C和SPI总线,嵌入式必须掌握

IIC vs SPI现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议。IIC 开发于1982年,...

2020-03-16 13:56:30 346

原创 在局域网中访问共享文件时,提示“引用的帐户当前已锁定,且可能无法登录”

在访问局域网共享文件时,出现无法访问情况解决方法是:打开DOS界面,输入:cmdkey/add:链接的IP /user:用户名 /pass:密码注意在IP,用户名之后要有空格与/进行分割...

2019-12-09 09:37:49 9161

原创 BIOS时钟的读取和设置

#include<stdio.h>#include<bios.h> int main(){ long ori,newar; ori = biostime(0,0);//读取BIOS时钟数据 printf("%ld",ori); newar= biostime(1,500);//设置BIOS时钟 1表示设置,0表示读取 500表示时钟时间 ...

2019-11-27 17:26:27 1419

原创 C语言中的获取时间操作

#include<stdio.h>#include<time.h> int main(){ time_t Time; struct tm *t; Time = time(NULL);//获取以秒为单位,以格林威治时间开始的当前时间 t = localtime(&Time);//返回一个分解满足tm结构的指针 printf("lo...

2019-11-27 17:00:02 181

原创 getch(),getche(),getchar()三个输入函数的不同

#include<stdio.h>int main(){ char a,b,c; printf("getche() :"); a = getche();//用于从键盘读取一个字符并显示,然后直接运行下一句 printf("\n"); printf("getch() :"); b = getch();//用于从键盘读取一个字符但不...

2019-11-27 15:59:43 170

原创 一元二次方程的解的程序

数学公式:方程: ax^2+bx+c=0;解为 : x1= (-b+sqrt(b^2-4ac))/2a;x2 = (-b-sqrt(b^2-4ac))/2a;转换成编码语言表示:x1= (-b + sqrt(b^2-4* a*c)) / (2*a);x1= (-b - sqrt(b^2-4* a*c)) / (2*a);...

2019-11-27 15:41:26 1189

原创 求解两个数的最大公约数和最小公倍数

#include<stdio.h>int main(){ int a,b,c,m,t; scanf("%d %d",&a,&b); if(a< b) { t = a; a = b; b = t; } m = a *b; c = a%b; while(c != 0) { a = b; b = c; c = a%b; }...

2019-11-27 15:30:17 131

原创 五种常用的排序算法

//冒泡排序void mp(void){ int arr[] = { 3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48 }; int i,j; int tmp; for(i = 0;i < 15-1;i++) { for(j = i+1;j < 15;j++) { if(arr[i] > ...

2019-11-27 11:53:59 106

原创 m_prog.SetRange(0, RDCount); m_prog.SetPos(0);崩溃

m_prog.SetRange(0, RDCount);m_prog.SetPos(0);找到一个解决方法,发现是少了一个控件,添加下控件就行DDX_Control(pDX, IDC_PROGRESS1, m_prog);

2019-11-21 17:01:44 179

原创 链表的简单使用

链表分单向链表,双向链表和循环链表节点的插入有两种,头插法和尾插法其中头插法是只节点从头节点处插入尾插法指的是从链表的末尾插入#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct Node{ char buf[16]; struct Node * pre...

2019-10-31 15:24:39 142

原创 安装VS2015出现安装界面全透明,无法进入选择界面,什么都看不到问题解决

最近在学C++,找了几个项目代码来进行学习,原先使用的是VS2005,发现有些库VS2005不支持,无法使用C++11及以上的标准,于是准备安装VS2015然后我就被VS2015的安装搞奔溃了,下载好镜像,点击里面的vs_community.exe,使用以管理员权限打开,等了好一会,桌面上还是什么都看不到,但是在任务栏却有VS安装界面的提示,然后试着移动安装界面,发现居然可以移动,但只有桌面背景...

2019-10-31 10:21:02 1441 1

Git-2.25.1-32-bit.7z

windows系统32位使用的github管理工具git bash. 由于github 的属于国外的网点,这个工具也是国外的,因此下载速度十分缓慢,还有很大的可能会下载失败,因此特地在这里分享一下。下载之后直接解压运行就行。

2020-04-03

学生管理系统.rar

这个程序是C语言的,自己编写的学生成绩管理系统,只有增加学生,输出学生信息,指定位置插入,删除某个学生信息的功能,想要的可以自取

2019-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除