自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 stm32学习-串口通讯

通讯的基本概念通讯按数据传送的方式分为串行通讯与并行通讯串行通讯:设备之间通过少量数据信号线,地线及控制信号线,按数据位形式一位一位地传输数据并行通讯:使用8、6、32及64根或更多的数据线进行传输的通讯方式,可以同时传输多个数据位的数据通讯的方向分为全双工、半双工及单工,以信道的方式来区分通讯按数据同步方式分为同步和异步,根据通讯过程中是否有使用到时钟信号进行简单的区分同步通讯:收...

2019-09-20 11:07:31 304

原创 Linux内核驱动入门-内核驱动

系统架构图//下载linux-4.19.tar.bz2//解压tar -xf linux-4.19.tar.bz2cd linux-4.19//配置内核make ARCH=arm CROSS_COMPILE=arm--linux--gnueabihf-- bcm2709_defconfig//编译内核make ARCH=arm CROSS_COMPILE=arm--linux--...

2019-09-20 11:03:05 756

原创 Linux内核驱动入门-编译树莓派内核

内核驱动跟内核版本号之间是强相关的,因为编译内核模块的时候,需要基于内核源码来编译假设我们自己编译一个属于自己的树莓派内核,根据官方的内核来进行更改。将官方的内核解压到虚拟机上,最好放在根目录的work下,要不然会空间不足//安装工具sudo apt-get install git bison flex libssl-dev//安装配置内核menuconfig的辅助工具sudo a...

2019-09-20 11:02:44 793

原创 Linux学习之网络编程

在我们学习网络编程开始之前,我们先了解一下什么是TCP协议:TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,按层次分层为应用层、传输层、网络层和数据链路层。各层的作用是什么?应用层:决定用户提供应用服务通信...

2019-09-03 21:01:21 185

原创 基于树莓派的智能垃圾桶

这次做的项目是基于树莓派的智能垃圾桶,整个项目使用了超声波模块、DS18B20温度传感器、L9110S桥两路直流电机驱动板、SG90舵机、oled显示屏,这个项目也加入了网络编程,可以通过远程来控制垃圾桶进行行走。接下来通过各个模块来进行原理说明。超声波模块+SG90舵机使用超声波模块和SG90舵机模块实现的功能是当我们手碰到垃圾桶的口时,利用超声波来检测,当检测的距离小于所设定的距离后,...

2019-09-03 21:01:03 4287 1

原创 linux学习-系统编程之进程间通信

进程间通信简称IPC(interprocess communication),就是在不同进程之间消息传递的方式主要的方式有管道、消息队列、共享内存、信号量等1、管道管道包括无名管道和命名管道,它们两个有什么特点呢?无名管道:具有固定的读写端、是一种单双工的通信模式只能用于有亲缘关系的进程(父进程和子进程)只存在内核当中命名管道:可以在无关的进程之间进行通信以一种特殊...

2019-09-03 21:00:41 207

原创 树莓派编写超声波模块程序

树莓派是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。 ...

2019-09-03 21:00:13 723

原创 LINUX学习-用C语言实现FTP项目

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,...

2019-08-18 17:55:25 3380 3

原创 Linux学习:系统编程之进程基本概念

什么是程序?什么是进程?区别在哪里?

2019-08-08 16:37:57 208

原创 linux学习-系统编程之文件

Linux的一切皆是文件,当我们初期学习Linux的系统编程的时候,要学会如何用代码来对文件进行操作,实现文件的创建、打开、编辑等Linux系统提供了一系列对于文件操作的API打开/创建文件函数说明:pathname:要打开的文件名(含路径)flag:O_RDONLY 只读打开O_WRONLY 只写打开O_RDWR 可读可写打开注: 以上三个参数只能选择一个,不能多选...

2019-08-08 15:07:54 129

原创 c51单片机开发-可以测距开锁和远程开锁

本项目是以STC89C52单片机为基础,利用ESP8266模块和超声波模块实现可以测距开锁和远程控制开锁。

2019-08-06 16:16:11 590

原创 C51单片机超声波模块代码编写

超声波模块在日常很多地方都有使用到,它的原理是根据发出声波,接收返回的声波的时间来判断此时物体的距离,我们通常可以超声波来进行测距。1、利用定时器来计算时间我们利用定时器0的模式1:16位定时器来作为我们的时间计算。此时TMOD要设置为0x01注意:如果是波特率为9600的时候,要注意此时有用到定时器1,如果要和超声波一起使用,最后使用移步来配置寄存器,直接赋值会将TMOD的值变化。超...

2019-08-06 15:53:54 3478 1

原创 ESP8266 WIFI模块配置

在单片机的项目开发,如果想要实现远程控制,这时候可以使用ESP8266——WIFI模块,然后还需要构建一个服务器来实现远程控制,如果不会构建服务器,可以使用网络调试小助手,这篇主要是讲如果将esp8266作为设备接入热点,与网络调试小助手、串口实现远程传输wifi的工作方式有三种:AP模式 提供热点Station模式,作为设备接入热点同时支持前两种工作状态首先将ESP8266模块...

2019-08-06 15:53:35 2122

原创 串口通信

串口特点

2019-08-06 15:53:02 1588

原创 链表的基本操作

链表链表是在数据结构中常见的线性表,它不像数组一样是按线性的顺序存储数据,它是由一连串的节点构成,每个节点还有数据和一个连接下一个节点的位置的指针,链表的好处可以不用顺序存储数据,对于链表,我们最基本的新建链表、添加节点、插入节点、删除节点的操作要掌握。指针在学习链表之前,我们首先要对指针的知识点掌握清楚。什么是指针,简单地来说是用来存储单元的地址。我们对变量名进行访问时有两个种方式...

2019-08-06 15:52:43 363

原创 在linux下用C语言编写贪吃蛇小游戏

利用链表和结构体来编写贪吃蛇小游戏,这边还会用点线程,分别有以下模块:1、地图规划2、蛇身体的初始化3、蛇的方向移动4、食物的初始化和随机出现5、蛇撞墙和咬自己的尾巴地图规划我们在设计地图的时候,需要用到ncurses,头文件 #include <curses.h>ncurses(new curses)是一个程序库,它提供了API,可以允许程序员编写独立于终端的基...

2019-08-06 15:51:58 3835 1

原创 常用的冒泡排序法和选择排序法

在算法中最常用的排序法主要由冒泡排序法和选择排序法,这两种最主要的目的是可以方便地从大到小或者从小到大排序。选择排序法选择排序法是固定一个确定的值,跟剩下的数值进行比较,符合条件进行交换这边需要用到两个for循环假如一组数据:22,55,68,95,64 从大到小排序两个循环语句:for(i=0;i<len-1;i++){ //len为数组的长度 for(j=i;j...

2019-07-25 22:43:23 248

原创 用linux来运行在window系统写的c文件

通常在Linux系统上编写c文件我们可以使用vi来进行编写,我们也可以在window系统上编写c文件,然后通过共享文件的方式来将文件转移到linux系统上。使用方法:通过vmware的VMwareTool来实现操作:打开VMware界面,点击虚拟机,安装VMware Tool,开始下载下载成功后的安装包拷贝到工作路径 (在任何文件夹输入cd都会返回工作路径)cp /media/VMw...

2019-07-25 22:42:06 1039

原创 最基本的Linux命令语句

嵌入式入门-Linux最基本的指令

2019-07-10 23:28:01 439

原创 scanf在c语言中的基本用法

scanf函数和printf函数在c语言当中是非常重要的,scanf的功能是获取从键盘上输入的数值或者字符scanf函数的基本格式:scanf(“格式符”,输入参数)格式符:%d——整型%f——浮点型%c——字符型%s——字符串%.nf——n表示小数位数输入参数:一定要带上取值符&,否则会出现警告运行结果:注:scanf函数在连续输入中有一个缺陷,可以来看一下例子...

2019-07-10 23:27:35 31063

空空如也

空空如也

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

TA关注的人

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