自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树莓派——文件系统认知

常规认知: 根目录下的文件【类比于此电脑下的驱动器】实际上:是文件管理系统的简称,是一种方法,用来管理文件在存储设备上存储方式windows: 随意分区(面向普通用户PC),目录即分区C(装系统的位置)也可以随意在C盘存放文件,D盘(用户随意发挥)Linux: 按照功能来分区,每个分区严格存放文件(开发者)嵌入式系统可以分为4个区,分别是bootloader 启动代码para 启动代码向内核传递参数的位置kernel 内核分区(前面内核编译时SD卡映射的data1)

2023-06-25 10:40:39 177

原创 树莓派——交叉编译

打开树莓派的/usr/lib 目录,因为树莓派./build执行后wiringPi库所安装的动态库在/usr/lib目录下,该目录下包含软连接libwiringPi.so(软连接)和库文件libwiringPi.so.2.50,将两个文件保存到ubuntu编译文件所在的文件夹。1. 正常我们先要交叉编译wiringPi库,编译出的库适合树莓派,这时候交叉编译可执行程序的试试,链接库的格式也是正确的。2、在符号连接中,文件实际是一个文本文件,其中包含的有另一个文件的位置信息。

2023-06-15 16:30:32 260

原创 树莓派和电脑的串口通信协议编程

1、数据格式(好比语言),包括数据位、停止位、奇偶校验位。2、波特率(好比语速),比如常用的波特率:115200。半双工就是两个人吵架,一个人骂的时候另外一个人闭嘴。全双工就是两个人吵架可以相互对骂。1、修改cmdline.txt。3、重启(试过没重启也行)串口通信——多机通信。

2023-06-13 12:39:04 183

原创 树莓派基础之外设开发编程;wiringPi库函数;树莓派控制继电器;树莓派超声波测距编程

参考优秀文章:树莓派基础之外设开发编程;wiringPi库函数;树莓派控制继电器_gpio控制继电器_Love小羽的博客-CSDN博客

2023-06-12 15:12:45 70

原创 Linux:分文件编程、静态库、动态库、共享库

库(Library)本质上就是一段编译好的二进制代码,加上头文件就可以供别人使用。

2023-06-12 12:04:17 70

原创 树莓派和Window的文件共享——FileZilla

主机ip前加上sftp://192.x.x.x。

2023-06-12 08:52:12 171

原创 树莓派3b+——刷机与登录方式

进入SD卡文件,更换cmdline.txt和config.txt文件。默认的源是国外的,apt-get安装的时候失败,我们更新成国内的源。老版本刷机与登录配置(试了不行,还是决定用新版)输入树莓派ip地址,进里面再输入账号密码即可使用。选择自定义或者操作系统,再选择SD卡点击烧录。通过HDMI线连接显示器。点击开启SSH服务。

2023-06-11 21:25:48 232

原创 嵌入式数据库——SQLite

轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂。

2023-06-10 12:55:50 447

原创 香橙派Zero2——Linux的热拔插Udev机制

udev是一个设备管理工具,udev以守护进程的形式运行,通过侦听内核发出来uevent来管理/dev目录下的设备文件。udev在用户空间运行,而不在内核空间 运行。它能够根据系统中的硬 件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录 下。使用udev后,在/dev目录下就只包含系统中真正存在的设备。

2023-06-08 12:13:58 238

原创 香橙派Zero2——Linux连接安卓手机与语音模块串口通信

3、把SDK烧录到语音模块(SU-03T),用USB转TTL模块连接语音模块接四根线(5V、GND、TXD、RXD)。从坐标点(540,500)用100ms滑动到坐标点(540,1300)从坐标点(540,1300)用100ms滑动到坐标点(540,500):USB转TTL模块的TXD接到语音模块的B6(RX)、RXD接到B7(TX)。(TX)、VCC、GND,B7连到香橙派上的RXD引脚。官网,点击创建产品,选择rgb灯、模组su-03T、离线版本、中文。2、创建一个新的 .rules 文件。

2023-06-07 12:32:28 419

原创 香橙派Zero2————Linux原生串口开发

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART包含RS232电平的串口和TTL电平的串口。

2023-06-06 17:19:18 1218

原创 SourseInsight4.0源代码阅读器的使用

在弹出的提示框中选中“Recursively add lower sub-directories”(递归添加下级的子目录)并点击 OK。3、打开sourceInsigt-》Project-》New Project-》将si文件夹的地址复制到第二个路径框内。快捷键 Ctrl + O ,此时右侧会直接显示已经添加的文件的列表“Project Files”。点击上一层wiringOP-master,再点击Add Tree。1、首先在需要阅读的源码文件的根目录下创建si文件夹。2、然后将si文件夹的路径复制。

2023-06-05 20:43:15 488

原创 香橙派Zero2———OLED屏幕应用,IIC协议

从命令运行结果能观察到系统支持i2c-3和i2c-5的驱动,而H616的外设我们看到只有一个IIC接口,用的是。Liunx一切皆文件,每个硬件设备对应一个文件,由驱动程序提供映射。//dev设备底下的i2c-3设备驱动。库下example里面oled文件。启动Linux系统后,先确认。//访问外设需要打开设备驱动。下存在i2c-3的设备节点。

2023-06-05 16:23:51 1069

原创 香橙派Zero2——定时器实现SG90舵机的转动

常用有三根或者四根接线,黄色线为PWM信号控制线,红色是电源正极,灰色地线。可用于:垃圾桶项目开盖用、智能小车的全比例转向、摄像头云台、机械臂等项目。

2023-06-05 12:16:20 242

原创 香橙派Zero2————超声波测距

超声波测距原理硬件介绍时间函数时间函数测试实现超声波测距 超声波测距模块是用来测量距离的一种产品,通过发送和接收超声波,利用时间差和声音传播速度, 计算出模块到前方障碍物的距离。 让它发送波:给Trig端口至少10us的高电平,此时模块内部会自动发送脉冲开始发送波:Echo信号由低电平跳转到高电平接收返回波:Echo信号由高电平跳转回低电平计算时间 :Echo引脚维持高电平的时间!计算距离 :测试距离=(高电平时间*声速(340m/s))/2

2023-05-31 15:29:42 118

原创 香橙派Zero2WiringPi库I/O操作及vi快捷键配置

是一个自动缩进的命令 (在命令状态下直接输入,不需要输入冒号),gg是文件首,G是文件尾,所以。进入wiringPi,example文件里找。wiringPi库的示例代码在。

2023-05-31 11:18:09 340

原创 香橙派Zero2刷机和系统启动

目录香橙派Zero2介绍 功能引脚图及硬件特性香橙派刷机工具1、使用SD Card Formatter格式化sd卡2、使用Win32Diskimager 进行镜像刷机,点击写入串口登录 1、检查电脑是否安装CH340驱动 2、打开MobaXterm_Personal_20.3.exe,点击Session,点击Serial 3、type-c口连接orangepi和电脑,成功连接,输入登录账号orangepi,密码orangepi(初始账号密码)。登录成功 4、修改密码 网络SSH登录1、网络配置2、查看IP

2023-05-31 09:34:50 923

原创 Linux网络编程小项目-----FTP服务器

FTP是File Transfer Protocol(文件传输协议)。Linux网络编程下实现的FTP服务器项目分为客户端和服务端,该项目主要是实现客户端对服务器上的文件内容进行展示、显示路径、删除、上传、下载等功能,以及对客户端本身文件进行展示、显示路径、删除文件等功能。客户端远程功能展示服务端有哪些文件——ls显示服务端当前路径——pwd进入服务端哪个文件——cd删除服务端文件——rm file下载服务端文件——get file上传文件到服务端——put file。

2023-05-30 11:43:14 608

原创 Linux网络编程

在前面的文章中,管道(无名、有名)、消息队列、共享内存、信号、信号量五种进程间的通信方法中,他们都是基于linux内核通信,无法联网多机通信。想要多机通信就需要网络编程进行通信。网络编程:1、地址:IP地址、端口号2、数据格式:http、TCP/UDP一、什么是IP地址。

2023-05-25 13:00:44 78

原创 Linux系统编程之线程

互斥锁也称为互斥量,对共享资源进行锁定,保证同一时刻只能有一个线程去操作。对互斥量进行加锁后,任何其他试图再次对互斥量加锁的线程将会被阻塞直到当前线程释放该互斥锁。

2023-04-17 21:45:36 170

原创 Linux进程间通信(下)(共享内存、信号、信号量)

信号的名字和编号:每个信号都有一个名字和编号,这些名字都以“SIG”开头,例如SIGIO、SIGCHLD等等查看信号:kill -l信号的处理方法:忽略、捕捉、默认动作、杀死进程忽略信号(SIG_IGN):大多数信号可以使用这个方式来处理,但是有两种信号不能被忽略(分别是SIGKILL和SIGSTOP)捕捉信号:需要告诉内核,用户希望如何处理某一种信号,说白了就是写一个信号处理函数,然后把这个函数告诉内核系统默认动作:对于每个信号来说,系统都对应由默认的处理动作,当发生了该信号,系统会自动执行。

2023-04-13 10:42:40 222

原创 Linux进程间通信(上)(管道、消息队列)

进程间通信的目的:1、数据传输:一个进程需要将它的数据发送给另一个进程2、资源共享:多个进程之间共享同样的资源3、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)4、 进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常进程间通信:IPC(InterProcess Communication。

2023-04-10 23:46:33 209

原创 Linux进程之API(下)(system、popen)

成功调用ps程序,而且相对于exec函数,system还会继续执行下面的代码。比system在应用中的。:以获取运行的输出结果。

2023-04-10 10:39:50 189

原创 Linux进程之API(中)(exec族函数)

我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变。exec函数族分别是:execl, execlp, execle, execv, execvp, execvpe参数说明:path:可执行文件的路径名字arg:可执行程序所带的参数,第一个参数为可执行文件名字,没有带路径且arg必须以NULL结束。

2023-04-07 18:17:12 138

原创 Linux进程之API(上)(fork、vfork、wait、waitpid)

父进程在不等待子进程退出,在子进程之前就结束了自己的生命,这时子进程就叫孤儿进程。Linux避免存在过多的孤儿进程,init会收留这些子进程,init会作为父进程。pid_t pid;int cnt=0;pid=fork();cnt++;exit(3);return 0;可见父进程的pid号由开始的20537变为1。证明被init接管为父进程。

2023-04-07 15:54:09 255

原创 Linux系统之进程相关概念

1、程序是静态的概念,例如在Linux下 ,gcc xxx.c -o pro,磁盘就会生成一个叫pro的程序。2、通俗点说就是程序被运行起来,系统就多了一个进程。1、每一个进程都有一个非负整数的id,叫做pid。类似身份证。2、在操作系统中默认pid=0为交换进程(swapper),作用:进程调度;pid=1为init进程,作用:系统初始化。3、如何获取当前进程号代码如下pid_t pid;return 0;

2023-04-06 16:08:48 41

原创 Linux文件编程之标准C库

关于open跟fopen,对于这两个名字很类似的函数,对很对初学者来说不容易搞清楚他们有什么不同,只知道按照函数用法使用。如果能很好地区分两者相信大家对于C语言和UNIX系统(包括Linux系统)有更加深入的了解。一句话总结一下,就是open无缓冲,fopen有缓冲。前者与readwrite等配合使用, 后者与freadfwrite等配合使用。

2023-04-03 17:52:39 333

原创 Linux文件编程之写入一个结构体

之前我们的只能写入都是char型的字符串,现在我们要想把整形或者结构体写进文件要怎么实现呢?

2023-03-31 17:57:10 419

原创 Linux文件编程之修改程序配置文件

如果我们要修改DOUDOU的值要怎么修改呢?

2023-03-31 16:59:00 64

原创 Linux文件编程之实现cp 复制文件

在Linux系统下,我们通常使用cp指令去复制文件,cp 原文件 新文件。本文则是通过编程的形式去实现文件的复制。以上就是通过小练习来实现CP指令,目的是加深对文件编程的打开文件、读取文件、写入文件、光标函数的一些函数API的进一步理解和使用。

2023-03-31 11:28:42 295

原创 Linux系统编程(一)文件编程

Linux文件编程

2023-03-20 17:35:10 125

原创 C语言指针知识点总结

C语言:指针、地址、野指针、数组指针、指针数组、函数指针、指针函数、多级指针、一维数组、二维数组等知识点集合。

2023-02-28 22:31:24 106 1

空空如也

空空如也

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

TA关注的人

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