自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

锅锅的博客

设计软件有两种方法:一种是简单到明显没有缺陷,另一种复杂到缺陷不那么明显。—— 托尼·霍尔

  • 博客(34)
  • 资源 (44)
  • 收藏
  • 关注

原创 Python 将网址url转换成二维码

相关库安装pip install imagepip install qrcodepip install pillow转换代码import qrcode#导入库qr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=1)#设置二维码的大小#设置要转换的网址qr.add_data("https://blog.csdn.net/u0108

2021-03-31 22:33:45 589 1

原创 linux vi编辑器快捷键

一、介绍在嵌入式实际工程调试中,并不能使用高级的调试工具,通过串口终端的话只能使用vi或者vim,这里列出vi的快捷命令二、模式编辑模式下输入文本普通模式输入命令命令模式输入命令三、模式切换快捷键i 光标位置前进入编辑模式;v、V、Ctrl+v进入可视模式(编辑模式):进入命令模式esc 退出命令模式,编辑模式下也会退出编辑模式四、普通模式下的快捷键dd 删除光标所在的单行文本;yy 复制光标所在的单行文本;p 粘贴复制的单行文本;O 在光标

2021-03-31 17:07:07 277 1

原创 ubuntu安装gdbserver

一、介绍GDB本身是支持远程调试而eclipse也支持远程在线调试,基于gdbserver,可以在一个平台上安装gdbserver,另一个平台上安装eclipse和通过网络直接远程在线调试程序二、安装在开发板安装gdbserver1、 下载gdb下载gdbwget http://ftp.gnu.org/gnu/gdb/gdb-7.8.1.tar.xz、解压tar xvf gdb-7.8.1.tar.xz配置cd gdb-7.8.1/gdb/gdbserver/./configure

2021-03-25 16:13:00 3032

原创 windows 的DISKPART制作启动u盘

管理员打开cmd启动diskpart#启动磁盘管理DISKPART#列出当前磁盘列表LIST DISK#选择要制作为U盘启动盘的磁盘;可以根据大小开确定。我的U盘是磁盘1SELECT DISK 1#清空磁盘CLEAN#创建分区CREATE PARTITION PRIMARY#标记分区为活动分区ACTIVE#格式化磁盘为UTFS;这里需要注意,如果是GPT分区的那么你需要将其格式为FAT32的,否则待会系统无法识别FORMAT FS=fat32 QUICK#完成退出EXIT

2021-03-24 14:09:21 478 1

原创 ubuntu启动A start job is running for Raise network interface(5min 4s)解决

原因解决方法进入系统后修改文件/etc/systemd/system/network-online.target.wants/networking.serviceTimeoutStartSec=5min 修改为TimeoutStartSec=2sec

2021-03-21 19:49:56 1292

原创 C语言接口封装方式--内联函数 inline

一、介绍当代码量庞大的时候,代码会分层,分模块编写,层与层之间会使用接口,常用的函数指针、内联函数、宏,这里以内联函数为例,内联函数区别于函数,函数会独立一段内存,执行的时候跳转到函数入口执行,然后返回,这个跳转过程会花费时间,对应执行频率比较高的函数,可以使用内联函数,等效看着define二、用法在函数前面加inline,要注意的是,内联函数不能使用if、while等语句#include <stdio.h>//函数定义为inline即:内联函数inline char* dbtest

2021-03-21 12:26:16 455

原创 C语言执行时间测量

经常遇到程序执行时间过长的时候,一般会优化程序的执行时间,优化之前需要先测量模块的执行时间,找出最占时间的函数或者模块1、时间函数测量头文件#include <time.h>函数使用gmtime函数获取格林尼治时间,函数原型:struct tm * gmtime(const time_t *)测量示例struct timespec ts1,ts2;float time_ms = 0.0f; //用于存储识别所需的时间int time_s;clock_gettime(CLOC

2021-03-21 12:15:37 820

原创 ubuntu硬件测试

硬件测试摄像头测试cheeseapt install cheese声卡测试播放: aplay musicdemo.wmv录音: arecord -c 2 -r 44100 -f S16_LE musicdemo.wmv调节音量大小: alsamixer安装sudo apt-get install xmlto libasound2-devsudo apt-get install linux-sound-base alsa-base alsa-utilsUSB测试lsusb网卡测试

2021-03-21 10:42:37 421

原创 ubuntu测试网络速度

网速测试1、1.工具一:slurm安装sudo apt-get install slurm (Ubuntu系统)查看网速命令slurm -i eth0 (etho为网卡名)2、nload安装wget http://www.roland-riegel.de/nload/nload-0.7.2.tar.gztar zxvf nload-0.7.2.tar.gzcd nload-0.7.2./configure;make;make install使用用nload (后面跟上网卡号查看指

2021-03-21 10:41:26 4290 2

原创 linux内存映射示例

一、内存映射介绍linux对外设的一般操作,用户空间不能直接对外设访问,而是通过内核空间间接访问,如下图访问磁盘对于速度要求不敏感的程序影响不大,但是对于摄像头或者视频显示的设备,这种操作会导致视频卡顿等linux提供了一种方式直接操作,内存映射二、linux内存映射函数mmap映射函数功能:将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零返回:成功,返回被映射区的指针失败时,失败,返回MAP_FAILED(其为

2021-03-19 10:50:54 320

原创 ubuntu 安装vscode

一、命令行安装1、sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make2、sudo apt-get update3、sudo apt-get install ubuntu-make4、umake ide visual-studio-code二 、下载deb包安装1、下载安装包https://code.visualstudio.com/Download2、安装sudo dpkg -i code_1.37.0-156522798

2021-03-18 20:33:56 260

原创 ubuntu打开摄像头测试

一、cheese安装sudo apt-get install cheese使用cheese二、guvcview安装sudo apt-get install guvcview使用guvcview -d /dev/video0

2021-03-16 21:26:19 2197

原创 ubuntu 安装vnc桌面共享服务器

一、硬件需求最好有2G以上ram二、软件需求需要ubuntu已经有桌面系统没有的话apt install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y或者apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gno

2021-03-16 14:21:47 1099

原创 C语言内存管理--动态内存分配

一、介绍一般定义数组是要给固定的长度,当我们不知道输入的长度是多少的时候,怎么办例如:需求现在有一个电话本存储,电话本中联系人并不知道有多少,一次定义1000个长度会占用内存,定义太小又会导致存储不够c语音给了一种特殊的方式,动态内存分配二、函数介绍头文件#include <stdio.h>1、void *malloc(int num);在堆区分配一块指定大小的内存空间,用来存放数据。这块内存空间在函数执行完成后不会被初始化,它们的值是未知的2、void calloc(int

2021-03-15 12:29:27 224

原创 C语言预处理指令实列三#error、#warning、#line

一、介绍#error、#warning、#line也是常用的调试利器#error 打印自定义的错误信息#warning 打印自定义的警告信息#line 设置文件和行号二、用法#error 要打印的信息 (不需要引号)#warning 要打印自定义的警告信息(不需要引号)#line 行号 文件名三、示例1、#error比如我们显示屏一般会宏定义宽度和高度,但是如果忘了编译器并不会报错可以通过如下方式实现报错#define LCD_WEIGHT 1024#define LCD_

2021-03-12 14:20:48 3350 1

原创 C语言预处理指令实列二#pragma

一、介绍#pragma 是一个很强大的预处理指令二、用法用法格式: #pragma 参数常用参数:1、once2、pack3、message4、alloc_text5、comment6、optimize7、auto_inline8、component9、inline_depth10、init_seg*11、bss_seg12、data_seg13、code_seg14、const_seg15、check_stack16、inline_recursion17、poin

2021-03-12 13:56:58 674

原创 C语言预处理指令实列一

一、介绍c语言提供了预处理器机制,提供了常用的替代等功能,方便调试二、预处理指令#define 定义宏#include 包含一个源代码文件#undef 取消已定义的宏#ifdef 如果宏已经定义,则返回真#ifndef 如果宏没有定义,则返回真#if 如果给定条件为真,则编译下面代码#else #if 的替代方案#elif 如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码#endif 结束一个 #if……#else 条件编译块#error 自定义错误消息#warni

2021-03-12 11:19:44 153

原创 Python产生正弦数据--数学库使用

一、数学库介绍math包math包主要处理数学相关的运算。math包定义了两个常数:math.e # 自然常数emath.pi # 圆周率pimath.ceil(x) # 对x向上取整,比如x=1.2,返回2math.floor(x) # 对x向下取整,比如x=1.2,返回1math.pow(x,y) # 指数运算,得到x的y次方math.log(x) # 对数,默认基底为e。可以使用base参数,来改变对数的基地。比如math.log(100,base=10)math.sqrt(x) #

2021-03-11 21:34:44 1667

原创 C语言工程代码优化--变量优化

一、介绍c工程代码的质量在实现功能的基础上,主要是以下1、代码时间复杂度2、代码空间复杂度3、代码可读性这里以通过优化变量来优化代码的时间和空间复杂度二、 内存介绍内存主要分为RAM和ROM,代码存在ROM,程序运行起来后,变量用RAM,三、关键字介绍1、auto 存储类是所有局部变量默认的存储类2、register 存储类,定义存储在寄存器中而不是 RAM 中的局部变量,不能使用一元运算符比如&3、static 存储类,程序的生命周期内保持局部变量的存在4、const 修饰

2021-03-11 21:14:18 469

原创 C语言文件读写--基于C库

c库提供了文件操作函数一、文件操作流程1、打开或者创建文件2、读、写文件或者其他操作3、关闭文件注意:写操作只是写到缓冲区,并没有更新到硬盘内存里面,一般是在关闭文件和调用更新函数才会更新到磁盘二、c库文件操作函数头文件:#include <stdio.h>打开创建FILE *fopen( const char * filename, const char * mode );关闭int fclose( FILE *fp );写int fputc( int c, FILE

2021-03-11 17:52:03 414

原创 C语言宏接口define的高级使用

c语言提供了一种替换操作,在编译之前的预编译执行,define一、常规数字替换用法:#define 替代的名字 被替代的内容示例:#define one 1int a = 0;a = one;printf("%d",a);输出结果为1二、带参数的替代1、普通文本字符参数#define (替代的名字) 被替代的内容#define print(x) printf("%d",x)a = 10;print(a);输出结果:102、字符串参数当需要把一个宏的参数转换为字符

2021-03-11 17:29:54 752

原创 C语言工程代码bug定位--一、预定义宏

c语言提供了预定义宏方式,方便我们查找代码故障的位置DATE 当前日期,一个以 “MMM DD YYYY” 格式表示的字符常量。TIME 当前时间,一个以 “HH:MM:SS” 格式表示的字符常量。FILE 这会包含当前文件名,一个字符串常量。LINE 这会包含当前行号,一个十进制常量。STDC 当编译器以 ANSI 标准编译时,则定义为 1。使用示例1:#include <stdio.h>int main(void){ printf("File :%s\n", __F

2021-03-11 16:15:31 214

原创 python爬虫(一)文字爬取

功能:爬取网站信息1、文字2、图片3、视频一、安装库(如果没有安装的话)pip install urllib3pip install repip install requestspip install lxml二、网页抓取1、分析url,以笑话大全网站为例,不同的页面只是1.html的数字不一样2、查找要爬网站的请求包右键鼠标–检查选择network刷新2.html-header找到请求包,复制出来3、复制要爬的url4、编写代码爬取一页填入请求包和要

2021-03-06 13:44:20 5569

原创 python自动生成目录实例

python目录处理1、导入os模块2、操作3、目录切换操作函数python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目

2021-03-04 12:43:26 1253 2

原创 c语言共用体实例使用

一、共用体介绍二、定义union [union tag]{member definition;member definition;…member definition;} [one or more union variables];1、union Data{int i;float f;char str[20];} data;三、访问四、实例

2021-03-03 16:17:00 909 2

原创 c语言结构体实例使用--位段结构体

一、位段结构体介绍位段结构体就是按位读写,c语言提供了专门的结构体方式二、位段结构体定义struct{ type [member_name] : width ;};struct{ unsigned int widthValidated : 1; unsigned int heightValidated : 1;} status;三、位段结构体访问status.widthValidated = 0;printf("%d", status.widthValidated);

2021-03-03 15:54:20 686 1

原创 c语言结构体的实例使用

一、结构体介绍结构体是自定义的一种类型,可以让程序结构更清晰二、结构体定义struct tag { member-list member-list member-list ...} variable-list ;1、方式1,定义结构体并声明struct Books{ char title[50]; char author[50]; char subject[100]; int book_id;} book;2、方

2021-03-03 15:13:39 3598 1

原创 c语言函数任意个数参数的实现

一、简介:c语言在写函数时,如果不确定要输入多少参数,标准库提供了一种方式输入任意长度参数。二、使用方法1、添加头文件:#include <stdarg.h>2、定义:参数上面用“…”代表任意个参数,省略号之前的那个参数是 int,代表了要传递的可变参数的总数3、访问:在函数定义中创建一个 va_list 类型变量使用 int 参数和 va_start 宏来初始化 va_list 变量为一个参数列表使用 va_arg 宏和 va_list 变量来访问参数列表中的每个项使用宏 va

2021-03-03 11:29:34 3509

原创 linux网络编程-udp

UDPUdp收发UDP 协议不需要建立连接,类似于发送短信,因此 UDP 的编程方式比 TCP 更加简单。UDP 有其自己特有的接受与发送数据的函数socket(AF_INET, SOCK_DGRAM, 0);//创建socketbind(socket_fd, (struct sockaddr*) (&server_addr),sizeof(struct sockaddr_in));//绑定recvfrom(socket_fd, receive_buf, sizeof(receive

2021-03-03 09:02:24 470

原创 linux应用程序中main的参数

Main函数中的参数int argc, char **argv 用于运行时,把命令行参数传入主程序。argc – 命令行参数总个数,包括 可执行程序名。argv[i] – 第 i 个参数。argv[0] – 可执行程序名。int main(int argc,char *argv[]){ for(inti=0;i<argc;i++) { printf(“%s”, argv[i]); } return0;}

2021-03-03 08:57:17 809

原创 c语言工程代码bug定位--二、assert()

assert()assert()是一个宏#include <assert.h>void assert( int expression );功能当参数为真正常跳过当参数为假先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行用途代码调试的错误检查,如空指针、函数返回错误等等示例:#include <stdio.h>#include <assert.h>#include <stdlib.h>int main( vo

2021-03-02 09:53:39 172

原创 linux文件监视器实现基于inotify

功能实现Inotify API用于检测文件系统变化的机制,比如新建文件、文件更新等等。Inotify可用于检测单个文件,也可以检测整个目录。函数inotify_init(void)创建一个inotify的实例,返回inotify事件队列的文件描述符。内核也提供了inotify_init1(int flags)接口函数flag等于0的,该函数等价于inotify_init(void)函数。inotify_add_watch(int fd, const char* pathname, uint3

2021-03-02 09:40:33 201

原创 python读取神经网络权重张量的内容到文件

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport numpy as np#下载MNIST手写数字集,将手写数字集28*28图像变成1维的784个数据,mnist = input_data.read_data_sets('MNIST_data/', one_hot=True)#定义占位符,MNIST手写数字集有60000张手写数字图片作训练样本,有10000张手写数字图片

2021-03-02 09:22:52 769

原创 python读取图片到数组

img.resize这个函数img.resize((width, height),Image.ANTIALIAS)第二个参数:Image.NEAREST :低质量Image.BILINEAR:双线性Image.BICUBIC :三次样条插值Image.ANTIALIAS:高质量numpy.array(object, dtype=None, copy=True, order=‘K’, subok=False, ndmin=0)作用:创建一个数组参数说明:object:数组公开数组接口的任何

2021-03-02 09:19:15 2774

http网络文件服务器

http网络文件服务器

2022-04-27

openwrt深入学习笔记.zip

openwrt深入学习笔记.zip

2021-11-18

ATGM332D 北斗定位模块.zip

ATGM332D 北斗定位模块.zip

2021-10-11

tsl1401ccd数据手册和驱动例程.rar

tsl1401ccd数据手册和驱动例程.rar

2021-10-10

kivy中文手册.pdf

kivy中文手册.pdf

2021-09-25

嵌入式软件开发文档模板.rar

嵌入式软件开发文档模板.rar

2021-09-23

Microsoft VS Code.zip代码阅读工具免安装版

Microsoft VS Code.zip代码阅读工具免安装版

2021-09-14

DEVC++.zip免安装版本

DEVC++.zip免安装版本

2021-09-14

mqtt调试工具.zip

mqtt调试工具.zip

2021-09-13

mjpeg_streamer.rar 流媒体服务器工具

mjpeg_streamer.rar 流媒体服务器工具

2021-09-09

cjson.zip c语言json库文件

cjson.zip c语言json库文件

2021-09-09

ftpman.zip ftp服务器工具

ftpman.zip ftp服务器工具

2021-09-08

iverilog-x64_setup.exe安装包

Verilog开发仿真工具

2021-08-30

8086汇编dos工具

8086汇编dos工具

2021-08-30

8086汇编帮助手册.rar

8086汇编帮助手册.rar

2021-08-30

8051汇编指令集.xls

8051汇编指令集.xls

2021-08-30

RFC(1-8651).rar

RFC(1-8651).rar

2021-08-21

iso15031诊断规范.rar

iso15031诊断规范.rar

2021-08-21

iso9141规范诊断系统数字信息交换的要求.rar

iso9141规范诊断系统数字信息交换的要求.rar

2021-08-21

iso13400规范doip.rar

iso13400规范doip.rar

2021-08-21

iso14230诊断规范.rar

iso14230诊断规范.rar

2021-08-21

AOTOSAR车载软件规范.rar

AOTOSAR车载软件规范.rar

2021-08-21

iso26262车辆功能安全规范(1-9)(中文+英文版).rar

iso26262车辆功能安全规范(1-9)(中文+英文版).rar

2021-08-21

osek规范2.5.3-can网络管理.rar

osek规范2.5.3-can网络管理.rar

2021-08-21

iso15765规范can诊断(1-4).rar

iso15765规范can诊断(1-4).rar

2021-08-21

iso15765规范can诊断(1-4).rar

iso15765规范can诊断(1-4).rar

2021-08-21

ISO11898规范can物理层(1-5).rar

ISO11898规范can物理层(1-5).rar

2021-08-21

iso14229规范can诊断(1-7).rar

iso14229规范can诊断(1-7).rar

2021-08-21

USB协议规范.rar

1.0 2.0 3.0

2021-08-21

RFC网络协议文档手册.rar

RFC网络协议文档手册.rar

2021-08-20

opencv c++ api手册和例程.rar

opencv c++ api手册和例程.rar

2021-08-19

opencv-python api手册.rar

opencv-python api手册.rar

2021-08-19

windows命令行手册.rar

windows命令行手册.rar

2021-08-19

Windows.命令行详解手册.rar

Windows.命令行详解手册.rar

2021-08-19

TensorFlow Python API手册.rar

TensorFlow Python API手册.rar

2021-08-19

modbus资料文档和调试工具.rar

modbus资料文档和调试工具.rar

2021-08-19

linux API手册.rar

linux API手册.rar

2021-08-19

mqtt.zip mqqt资料文档

mqtt.zip mqqt资料文档

2021-07-06

github安装包.zip

里面包含github shell、github desktop、github

2021-06-18

python文字识别.rar

Tesseract OCR ,安装包,里面有安装包以及源码,以及中文支持包

2021-04-06

空空如也

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

TA关注的人

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