- 博客(22)
- 资源 (4)
- 收藏
- 关注
原创 详解C语言实现strcmp()
strcmp()函数的作用是比较字符串,比较的时候逐个字符比较,函数原型如下:int strcmp(const char *str1, const char *str2);如果str1>str2,返回>0;如果str1<str2,返回<0;如果str1=str2,返回=0;在具体实现过程中,我们需要遍历两个字符串,直到其中一个字符串结束,每一次循环都要比较两个字符串中字符大小,下面是具体的实现过程#include <stdio.h>int mys.
2020-08-15 10:21:54 3627 2
原创 详解C语言实现strcat
strcat()库函数的原型如下:char *strcat(char *dest, const char *src);主要作用是把src指向的字符串追加到dest指向的字符串上。明白了这个作用之后我们就可以自己开始编写实现这个函数。 至于为什么要自己编写这个函数,面试的时候面试官就是想要这么做,你想要这份offer的话那你就写,不想要的话,next!!一般的做法可能会是,先把dest遍历到最后一个字符'\0',dest就会偏移到'\0'这个位置,之后把src赋值给dest,然后src和d..
2020-08-15 10:06:15 2924
原创 ARP协议(Wireshark分析)
一直都觉得自己的计算机网络很差,大学那会上课老师讲得云里雾里的,自己也没想过会做开发,后来做了开发又觉得不是做网络工程师,应该也不会用到计算机网络就一直没有认真去学习,到工作之后发现很多地方需要用到计算机网络,这个时候决定要认真去学习一下,然后因为有一个同时期一起进来的同事wireshark非常好,我打算接下来的网络协议能用wireshark分析的尽量用wireshark分析,毕竟现在网上用wireshark进行协议分析还是很少,还是希望大家一起进步吧,多多交流。至于我目前的复习线路主要就是《计算.
2020-07-26 21:25:53 880
原创 C语言双向链表(完整工程。创建,增删查)
之前写了一篇基于C语言的单向链表,顺便也把双向链表写了。双向链表跟单向链表的区别就是多了一个向前的指针域。老实说,到目前为止我还没有真正体会到双向链表带给我的好处和优势。。。。typedef struct _list{ struct _list *prev; struct _list *next; int data;}list;...
2020-07-26 14:32:32 566
原创 C语言单向链表(完整工程。增删查)
单向链表一般都是会有一个头结点,尾结点的指针域是指向NULL的。链表的结构一般如下:typedef struct list{ struct list *next; int data; }st_List;事实上这个是最简单的链表结构,一般来说数据部分还会有很多其他的类型,但是这里只是讲最简单的结构,只要能把链表连接起来成为一条链子,数据部分就会比较容易处理的。看一下单链表的结构首先是头结点,头结点一般是不包含数据的,之后就是包含数据的节点,最后一个节点的指针域next是会指向N
2020-07-24 10:13:18 405
原创 linux系统调用(持续更新....)
随着自己接触越来越多的linux的系统函数发现自己在linux系统调用方面有很多不足,每次遇到系统调用函数都要百度一遍看一下用法,所以我打算写一篇博客来记录在开发过程遇到的系统调用函数,方便自己查阅。本文持续更新1、popen()函数2、fgets()函数3、system()函数4、strstr()函数这是一个与管道有关的系统调用,在我最早的一篇文章里有写过关于管道的理解"管道就像一条水管,从一头流到另外一头,不会阻塞"。具体可以参考https://blog.csdn.net/tiram
2020-05-28 00:05:17 363
原创 Valgrind编译安装(海思平台)
造成内存泄漏的原因有几个,具体的原因分析可以自行百度,这里主要分析malloc和free不匹配造成的。 这里用Valgrind这个工具来排查。 主要是讲一下载海思平台上安装这个工具。我首先按照网上的方法来安装出现以下问题,如果你们也出现 这个问题,可以试一下我的方法valgrind-m_debuglog.o: file not recognized: File format not re...
2020-04-06 20:13:42 930
原创 GDB调试段错误
以前学的时候在书上看过GDB调试,那时候就觉得,这玩意相比vs的调试太复杂太麻烦了,一堆的指令和命令,当时是一脸的嫌弃。 当我深入学习linux之后我发现用 shell命令是一个既成的事实,要想学好linux只能去学习各种shell命令。最近用GDB找到一份工程的段错误,就是真香打脸。为什么要用GDB呢? 其实是在程序出现段错误的时候用GDB去事后调试。为什么说是事后调试?在调试之前我们就正常...
2019-12-14 11:33:48 1524 2
原创 STM32+DRV8711驱动步进电机
步进电机的驱动原理步进电机的知识涉及到比较多的东西,这里只是简单介绍一下,关于具体的知识之后再补充。步进电机的驱动原理时期就是电磁感应现象,给步进电机供电流,然后会产生磁场,再合成磁场的方向,驱动电机转动。电机需要一个H桥来控制电机的转动方向。H桥其实就是4个mos管,要实现电机的方向控制,只需要控制对角的两个mos管就可以见下图 ...
2019-08-31 09:49:11 6796 3
原创 RN6752M转换视频信号接海思3519V101
RN6752M支持CVBS和AHD输入,隔行输出CSI、BT656和BT601。它的输出格式是YUV422,UYVY的。输出格式在数据手册上只说明是YUV422的,没有说是UYVY的,这个UYVY是问技术支持得到的回复。还有这个芯片的Y/C分量是分离的,所以在配置海思的时候要注意配置成分离的。我用这颗芯片来做mipi转换。CVBS做输入,输出mipi 信号,然后接到3519V101上。需要注意...
2019-08-17 11:29:50 5621 9
原创 linux开发工具设置记录
这篇博客没有太多参考的价值,单纯只是记录自己对一些工具的使用设置,方便在更换系统或者操作环境的的时候可以回顾会持续更新1、VMware左侧图标太小中断字体太小的设置。开启虚拟机,点击右上角设置图标,选择系统设置,然后选择Appearance,右下角的选项条可以更改图标大小。还可以更改桌面背景等等设置然后再Display中拉动Scale for menu and title bars选项...
2019-06-09 16:55:53 240
原创 vl53l1x+stm32激光测距分析(待修改)
实在没有办法每时每刻看邮箱,就算看了还要逐个回复很麻烦,而且这篇博客其实是求助类的,想要继续完善的,但是拿到代码的网友基本都没有回复我给我一些建议和改进的办法。我做了一个百度云的链接,大家不用留言了,直接去百度云下载。以后公司断外网了,基本没有机会上传资源了。还是希望有积分的可以积分下载。之前已经做了2m的vl53l0x激光测距,写了一篇博客也分享了自己的工程,这里把链接发一下: ...
2019-06-01 17:23:09 28877 170
原创 VL53L0X+stm32激光测距
文末有补充这段时间很忙,一直没时间看邮件,忽略了一些信息,没有及时给有需要的网友发工程代码。其实你们可以找在底下留言的网友,他们留了邮箱,加他们qq或者发邮件给他们,让他们发给你们,这样可以节省你们得时间。 ———2019.7.3最近学习stm32单片机,用VL53L0X这个传感器进行开发,花了不少时间和精力,写这个博客一个是为了记录自己的学习过程另外一个是感谢网上各位...
2019-04-24 21:53:01 40331 165
原创 ubuntu 16.04 apt-get update失败的解决办法以及windows和Ubuntu无法复制粘贴内容的问题
本文只是将Ubuntu 16.04的apt-get update失败的方法,并且Ubuntu16.04是用很多版本的,本人的版本是xenial(可以在终端里面输入lsb_release -a 来查看) 如下红色框就是你的版本,记住他。然后在终端里面输入cd /etc/apt把里面的sources.list拷贝出来cp sources.list sources.list.bak我...
2018-08-04 22:06:14 6003 1
原创 Ubuntu与windows可以相互ping通但是Firefox不能上网的解决方案
之前玩开发板,修改了Ubuntu的IP地址,今天发现Ubuntu可以和物理机相互ping通但是Firefox没办法上网,现在就具体介绍一下解决方法。本人使用的是Ubuntu16.04,物理机是windows7 64bit旗舰版,不确保其他配置平台也适用。特此声明!本文主要参考https://blog.csdn.net/u011624475/article/details/54881739。...
2018-08-04 21:31:14 2897 1
原创 实现Ubuntu全屏下与Windows切换
怎么实现Ubuntu全屏的情况下不用最小化虚拟机也可以与Windows切换我的虚拟设备是VMware,VirtualBox的操作不清楚。有一部分人是这样的全屏之后是这样看不到Windows下面的任务栏你如果不像上面那样设计的话,那么如果你要切换到Windows上就要最小化Ubuntu才能操作Windows,这就很麻烦,所以设计成上面会比较方便怎么做呢?网上说是VMware Tools安装的时候不对...
2018-06-21 22:04:48 4750
原创 VMware与windows共享文件夹
一般来说VMware不能与主机实现共享文件夹,那么一般来说都是VMware Tools的问题,重新安装VMware Tools就可以了。下面介绍一下具体做法。首先你需要先在VMware中点击“虚拟机->设置->选项->共享文件夹”右边选择“总是启用”然后选择你要共享的文件夹。注意:如果你不能选择共享文件夹(灰色)那么你只能重新安装VMware Tools了。点...
2018-06-09 13:16:43 26653 1
原创 详细Ubuntu桥接模式网络配置过程
注意:文章末尾有补充!本来是只想用NAT网络给虚拟机上网就足够了,一般来说也是NAT上网就够了。但是后来学到linux的通信知识,需要网络来连接,例如你虚拟机要连接开发板的时候,只能用桥接网络了。所以这里介绍一下桥接网络。关于NAT的连接方法可以参考我的上一个博文。VMware虚拟机下Ubuntu网络配置(NAT模式)。说明:本文在参考:https://blog.csdn.net/wumu...
2018-06-03 19:27:22 35985 13
原创 Ubuntu网络配置(NAT模式)
补充:之前刚开始接触Ubuntu的网路,对这些还是一知半解,随手写下这篇东西,回头去看发现其实还是有点问题,不知道看了这篇文章的各位网友会不会依旧没有配置成功,今天回去再看了一下,又百度了一下,做一下修正,实在抱歉。2019.11.27首先这次修改是参考了https://blog.csdn.net/qq_34760445/article/details/82626118,有兴趣可以看一下原文。...
2018-05-23 17:30:19 27366 16
原创 关于errno头文件
看见网上很多地方都用到<errno.h>这个头文件,一直不理解,今天找了一些资料,可以方便自己理解网上的说法是,系统调用的错误都会存放在errno中,我们还可以通过写代码测量出errno错误的总数。链接如下:https://www.cnblogs.com/Jimmy1988/p/7485133.htmlerrno是一个宏,它定义在对应的头文件里面,这个在上面的链接里也有说到errno是...
2018-05-08 19:08:47 8144
转载 BUFSIZ的值
今天看了网上的一个代码,有一个BUFSIZ,就查了一下,直接把别人的解说拿过来了stdio.h:#ifndef BUFSIZstdio.h:# define BUFSIZ _IO_BUFSIZlibio.h:#define _IO_BUFSIZ _G_BUFSIZ_G_config.h:#define _G_BUFSIZ 8192测试程序: #include <stdlib...
2018-05-07 21:42:53 6494
原创 linux下的有名管道文件读写操作
前言说明:宿主主机系统:window 7 旗舰版虚拟机:VMware 10.0.4操作平台:Ubuntu 12.04本文代码在个人电脑可以运行,不确保在其他平台可以正确运行这两天在学进程通信,学到管道通信,弄了有两天,今天才算能弄个明白,赶紧写来保存方便然后查看,如果能帮到大家就更好了。1、介绍:管道文件是linux下的一种特殊缓存文件(linux的文件其实都是对应底层的一种设备,管道文件和普通文...
2018-05-03 21:55:45 12865
DRV8711_step_ve_noencoder.zip
2019-08-31
RN6752M.zip
2019-08-17
STM32_VL53.zip
2019-06-01
VL53L0X+stm32激光测距
2019-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人