自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 “探秘国产新力量:OrangePi AIpro开发板测评“

香橙派联合华为精心打造,建设人工智能新生态!

2024-05-30 10:50:34 876

原创 Socket通信:三次握手、四次挥手

第二次握手:服务器接收客户端syn包并确认(ack=j+1),同时向客户端发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入。第一次握手:客户端尝试连接服务器,向服务器发送syn包,syn=j,客户端进入。第二次挥手:服务端收到了请求,并确认同意客户端请求。阿荣:阿祖,是我,听得到吗?阿祖:听到了,阿荣,你能听到吗?第一次挥手:客户端发出挥手请求,要求关闭连接。

2024-01-18 14:11:10 549

原创 Git快速使用

git是代码版本控制工具,当我们写一份很长很长的代码的时候总是需要缝缝补补,过了一两天可能回想一下可能还记得做了哪些修改,要是过了一周或一个月后就未必记得当初自己做了哪些修改了。所以,我们使用git来帮助我们管理代码版本。比如,今天码了一天代码,然后将代码提交到git仓库并注明做了哪些修改;第二天也是如此,第三天……当我在一个月后的时候突然间想要修改前面某一天当中写的某个功能,这时候又没有当初写代码时的思路和灵感,难以下手。

2023-12-21 08:55:00 823

原创 Makefile

makefile可以理解为是一门脚本语言,按照我们设定的步骤一步步运行指令。在linux开发过程中没有像Windows那样的图形化一键编译的功能,在linux上的c语言程序开发使用的是gcc编译工具完成源码文件到二进制文件的转变。当工程比较大的时候,工程里有很多源文件、头文件、第三方库等等,如果我们还是用gcc命令来编译的话会显得很麻烦,也容易出错。这时候我们可以使用makefile工具来帮助我们完成工程代码的编译,直接使用make命令即可完成全自动编译过程。

2023-12-19 16:32:31 872

原创 YOLOV5实现印刷体数字识别

yolov5实现21年送药小车数字识别

2023-05-06 19:31:01 1614 7

原创 linux 下Cmake 的使用

cmake的使用,工程文件的编译、动态库静态库链接库的生成、交叉编译、gdb调试

2022-10-29 21:47:42 2485

原创 Linux下C/C++ GDB和CGDB调试

GDB、CGDB调试的基本功能和使用

2022-10-28 14:00:02 1431

转载 第0讲:树莓派是什么?能做什么?

本文介绍了树莓派微型电脑的概况介绍、强大功能、硬件外设及丰富有趣的开发案例。让新手最短时间内快速上手,了解树莓派的方方面面及强大应用潜力。本文配套B站视频——【子豪兄的零基础树莓派教程】第0讲:树莓派是什么?能做什么?本教程教些什么?看完视频后食用本文更佳作者:张子豪(同济大学在读研究生)关注微信公众号 人工智能小技巧 回复 树莓派0 即可看到本文最新版。于2018-11-14发布文章目录开篇语树莓派是什么?树莓派较普通电脑的优势1、廉价便携可折腾2、树莓派运行开源的Linux操作系统.

2022-08-17 20:18:15 1126

原创 树莓派基本开发

连接方式1、串口1、打开SD卡根目录的"config.txt"文件,将以下内容添加在最后并且保存。dtoverlay=pi3-miniuart-bt这样就停止了蓝牙,解除了对串口的占用。2、然后再修改根目录的"cmdline.txt",将里面的内容全部替换成以下内容,以防万一,请先备份好这个文件的原内容。dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 ele

2022-08-17 20:10:12 4982

转载 树莓派趣味编程——从ABC到XYZ

《树莓派趣味编程,从ABC到XYZ》大纲目录本文配套B站视频:子豪兄的树莓派零基础教程作者:张子豪(同济大学在读研究生)知乎专栏:人工智能小技巧微信公众号:人工智能小技巧文章目录开篇语与序第一章:少年派的奇幻漂流——树莓派基本介绍及购买指南树莓派是什么?能做什么?零配件购买指南树莓派开源社区第二章:从拆快递到远程控制——快速上手树莓派开机前的准备工作硬件介绍操作系统介绍及下载烧录操作系统到SD卡中配置Wifi文件开机寻找树莓派ip地址的N种方案换源一劳永逸配置树莓派远程ssh连接VNC远程.

2022-04-20 11:52:09 672

转载 【子豪兄的零基础树莓派教程】第5讲:几个有趣的Linux命令

【子豪兄的零基础树莓派教程】第5讲:23个有趣的Linux命令【子豪兄的零基础树莓派教程】第5讲:本文介绍了23个有趣的Linux命令,向新手介绍了Linux命令行基本知识与“管道”的概念。这些命令可以在树莓派和Ubuntu系统上运行,最后一条命令还可以在Windows的DOS命令行中运行。源代码、更新、勘误,请看本教程Github代码仓库:https://github.com/TommyZihao/ZihaoTutorialOfRaspberryPi同济大学开源镜像站1、黑客帝国高大上的

2022-04-20 11:51:25 1087

转载 【零基础树莓派教程】安装配置操作系统、开机、远程登录

【零基础树莓派教程】安装配置操作系统、开机、远程登录【子豪兄的零基础树莓派教程】第2讲:1、下载所需工具2、在microSD卡中安装Raspbian操作系统3、配置远程登录ssh文件和wifi文件4、查找树莓派ip地址,远程登录树莓派源代码、更新、勘误,请看本教程Github代码仓库:https://github.com/TommyZihao/ZihaoTutorialOfRaspberryPi1、下载所需工具点击百度网盘链接,下载001、002、003三个文件夹001:基本工具:包

2022-04-20 11:50:29 879

转载 第6讲:用树莓派搭建FM广播,播放音乐和实时语音

用树莓派搭建FM广播,播放音乐和实时语音树莓派开启FM广播台,广播指定的音乐或实时语音本教程仅供科研与学习交流之用,广播功率很小。请务必遵守国家相关电信管理法规。基本原理:从奥斯特、法拉第,到麦克斯韦,从电容、电感到电磁波天线。本文配套B站视频:子豪兄的树莓派零基础教程【子豪兄的树莓派零基础教程】第5讲:用树莓派搭建FM广播电台,播放音乐和实时语音作者:张子豪(同济大学在读研究生)博客文档、源代码、更新、勘误,请看本教程Github代码仓库目录材料准备安装配置广播内置歌曲:吉他

2022-04-20 11:49:11 2645

转载 第5讲:27条超有趣的Linux命令

27个有趣的Linux命令,假装自己是命令行黑客高手。本文向新手介绍了Linux操作系统基本原理、命令行基本操作,以及“管道”的概念。这些命令可以在树莓派和Ubuntu系统上运行,最后一条命令还可以在Windows的DOS命令行中运行。本文配套B站视频——【子豪兄的零基础树莓派教程】看完视频后食用本文更佳作者:张子豪(同济大学在读研究生)关注微信公众号 人工智能小技巧 回复 linux有趣命令 即可看到本文最新版。知乎专栏:人工智能小技巧,所有文章欢迎转载!简书专栏:人工智能小技巧Bili.

2022-04-20 11:47:11 1393

转载 第3讲:一劳永逸配置树莓派

对新安装系统的树莓派进行一系列一劳永逸的设置,包括软件换源、设置密码、国家、时区、开启功能,下载安装中文字体及输入法、远程桌面工具,及其它常用软件。经过了本文一劳永逸的配置,你就可以开启接下来的树莓派玩转之旅了。上一步:第二讲:树莓派开机指南下一步:第四讲:探索树莓派的桌面本文配套B站视频:子豪兄的树莓派零基础教程第3讲:一劳永逸配置树莓派【子豪兄的树莓派零基础教程】作者:张子豪(同济大学在读研究生)文字版、源代码、更新、勘误,请看本教程Github代码仓库知乎、简书专栏:人工智能小技巧.

2022-04-20 11:46:31 455

转载 第1讲:树莓派及配件购买指南【子豪兄的零基础树莓派教程】

最全面、最省钱的树莓派主板及零配件购买指南,帮助新手用最少的钱实现全部功能并快速上手。本文配套B站视频:子豪兄的树莓派零基础教程作者:张子豪(同济大学在读研究生)文字版、源代码、更新、勘误,请看本教程Github代码仓库微信公众号:人工智能小技巧本文不是广告文,文中所有淘宝链接经过作者亲自购买测试无误,仅作为向树莓派爱好者的私人推荐。绝非广告,作者承诺与淘宝商家无任何商业合作,也不会通过本文的链接广告获取任何商业收益。文中提到的淘宝链接,详细链接见文末。文章目录必备物品1.树莓派3B+.

2022-04-20 11:43:43 2118 1

转载 第0讲:树莓派是什么?能做什么?

本文介绍了树莓派微型电脑的概况介绍、强大功能、硬件外设及丰富有趣的开发案例。让新手最短时间内快速上手,了解树莓派的方方面面及强大应用潜力。本文配套B站视频——【子豪兄的零基础树莓派教程】第0讲:树莓派是什么?能做什么?本教程教些什么?看完视频后食用本文更佳作者:张子豪(同济大学在读研究生)关注微信公众号 人工智能小技巧 回复 树莓派0 即可看到本文最新版。于2018-11-14发布文章目录开篇语树莓派是什么?树莓派较普通电脑的优势1、廉价便携可折腾2、树莓派运行开源的Linux操作系统.

2022-04-20 11:42:04 1179

原创 基于STM32的实时操作系统FreeRTOS(待更新……)

摘要:RTOS很简单,听起来叫做实时操作系统,有一点吓唬人。但是学起来真的很简单,你不要把他想象的太复杂。这玩意其实就是一个任务调度器,在裸机中程序只有一个死循环,但是使用了RTOS程序中就有了多个死循环,RTOS就是调度每个死循环依次执行,执行的速度很快,看起来就相当于并行执行。一、FreeRTOS的入门学习一个RTOS,搞懂它的编程的风格很重要,这可以大大提供我们阅读代码的效率。下面我们就以FreeRTOS里面的数据类型、变量名、函数名和宏这几个方面做简单介绍。...

2022-04-07 21:58:22 6297 5

原创 嵌入式Linux

一、文件 I/O1.1、文件描述符对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,使用open或creat返回的文件描述符标识该文件,将其作为参数传递给read或write文件描述符的变化范围是0 ~ OPEN_MAX - 1注意:文件描述符 0:标准输入(STDIN_FILENO)文件描述符 1:标准输出(STDOUT_FILENO)文件描述符 2:标准错误(STDERR_FI

2022-04-07 21:56:55 713

转载 常用的 Linux 命令和C函数的注释规范

/******************************************************************************* 函数名称: ByteArray2StrSeq* 功能说明: 掩码字节数组字符串化 该数组元素为掩码字节,将其所有值为1的比特位置转换为指定格式的字符串* 输入参数: pucByteArray: 掩码字节数组 ucByteNum : 掩码字节数组待转换的有效字节数目

2022-02-23 10:54:45 515

转载 Linux 网络编程

网络编程网络编程即如何在程序中实现两台或多台计算机之间的通信。在进程间通信这一节,我们讲了管道、消息队列等IPC方式,不过只能限制在同一台主机上的进程间通信,满足不了不同主机之间的进程通信,而网络编程中的Socket正好可以满足。现在网络上各种各样的服务大多是基于Socket来完成通信的。套接字Socket:简单来说是IP地址与端口的结合协议组成与作用:在网络传输中用于唯一标识两个端点的链接。端点:包括(IP+Port)四个要素:客户端的地址、客户端的端口、服务器的地址、服务器端口。端口号的

2022-02-16 22:00:33 297

转载 Linux 线程

Linux线程介绍进程与线程一个进程可以有多个线程,同时做多件事情,每个线程各自处理独立的任务。进程是程序执行时的一个实例,是担当分配系统资源(CPU时间、内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本身只是指令,数据及组织形式的描述,进程才是程序的真正运行实例。线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。进程的所有信息对该进程中的所有线程都是共享的,包括数据段、代码段、堆、栈等。在Unix和类Unix操作系统中

2022-02-13 21:11:03 71

转载 Linux进程间通信

进程间通信进程间通信(简称IPC即InterProcess Communication),简单来说,就是两个进程之间的数据交换。在进程这一小节,讲过通过exit函数,使当前进程退出并向父进程传递退出状态,父进程再通过wait函数收集终止状态。不过这只能局限于父、子进程,且不能实现子进程运行过程中的数据交换。我们要用到IPC来实现任何两个进程之间的数据交换。进程间通信方式一般有以下几种:1、匿名管道(仅支持同一主机的IPC)2、命名管道:FIFO(仅支持同一主机的IPC)3、消息队列(仅支持同一主

2022-02-10 22:42:47 206

转载 shell命令

目录shell种类 bash csh ksh zsh 基本语法定义和使用变量#!/bin/sha="hello world"echo $aecho 'a is xiaxaiwen${a}'if elseif ....; then   .... elif ....; then   .... else   .... fi [] 条件测试[] 中前后一定要加空格。shell常用命令命令说明echo将文字内容打印在屏幕

2022-01-18 20:27:02 347

转载 uboot

源码目录:api: 存放uboot提供的接口函数arch: 存放跟芯片相关的文件board: 开发板配置文件common: uboot命令行下支持的命令disk: 磁盘支持doc: 文件目录drivers:设备驱动程序examples例程fs: 支持的文件系统,cramfs fat fdos jffs2 registerfsinclude:uboot使用到的头文件lib_xxx:与体系结构相关的库文件net: 网络协议栈相关的文件 BOOTP TFTP RARP NFStools:

2022-01-18 20:26:48 147

转载 Cortex系统框图

算法

2022-01-18 20:26:07 95

转载 makefile

目录简单的makefileCROSS_COMPILE=/opt/4.5.1/bin/arm-linux-CC=$(CROSS_COMPILE)gccAS=$(CROSS_COMPILE)asLD=$(CROSS_COMPILE)ldCFLAGS=-g -WallLIBS=-lpthreadall:mainmain:main.o gsm_gprs.o socket.o telosb.o wifi.o $(CC) $(CFLAGS) $(LIBS) $^ -o $@main.o

2022-01-07 12:07:06 191

转载 GPU图形处理器

vivante图芯技术有限公司硬件抽象层Hardware Abstraction Layer (HAL)Alpha Blending是按照“Alpha”混合向量的值来混合源像素和目标像素的一种图像处理技术。android SurfaceFlingerSurfaceFlinger服务负责绘制Android应用程序的UIandroid专有驱动驱动说明Android Ashmem匿名共享内存; 为用户空间程序提供分配内存的机制Android Logger轻量级的

2022-01-07 12:06:32 457

转载 driver驱动开发

驱动开发注意事项不能访问C库只有一个很小的定长堆栈没有内存保护机制浮点数很难使用,应该使用整型数Kconfig描述了所属目录源文档相关的内核配置菜单,用于make menuconfig中的配置示例:menu "Network device support"config NETDEVICES bool "Enable Net Devices" 菜单类型 depends on NET 该项依赖项,如果没有选中NET,则不会显示这项菜单。

2022-01-07 12:05:12 225

转载 Cortex内核

目录arm内核发展历史cortexM0系列芯片系统框图通用寄存器m0特殊寄存器m3/m4/m7特殊寄存器MSP和PSPxPSRPRIMASKCONTROLFAULTMASKBASEPRI栈空间操作异常和中断系统异常NVIC可嵌套向量中断控制器系统操作寄存器NVIC寄存器系统控制块SCB寄存器SysTick寄存器cortex-m0启动流程中断向量表大小端堆栈压栈的寄存器杂项指令集M0/M3/M4/M7区别M3系统框图M3快速开关

2022-01-07 12:04:26 1100

转载 Git-inside

常用的 git 说明见 git 使用说明 。本文记录一些底层 git 技术。clone 本地仓库$ git clone /home/git/repositories/801/038/000/38801.git查看object文件的内容使用 git cat-file 可以查看 object 文件的内容,但是查看的内容是转换过的:$ git cat-file -p aa548c4d7910229712ba3a41e74c6db872e8ab64100644 blob c30106543ed8f32

2022-01-07 12:03:35 305

转载 git 使用说明

git 使用说明git操作笔记,初级使用教程请参考 git cheatsheet 。添加文件git add .删除文件git rm .提交改动到本地git commit -m "first commit"上传改动到服务器git push列出当前分支git branch列出所有分支,包括远程分支git branch -a从已有的分支创建新的分支(如从master分支),创建一个dev分支git checkout -b dev从服务器拉取分支到本地分支git pu

2022-01-07 12:02:41 203

转载 TCPIP协议栈

目录tcpip模型以太网协议ARP地址解析协议TCP协议tcpip模型 OSI模型 linux tcpip模型 常用协议 网络设备 应用层 应用层 telnet/DHCP/TFTP/FTP/MQTT/NFS/DNS/FTP/SNMP 表示层 会话层 传输层 传输层

2022-01-07 12:02:06 1237

转载 嵌入式实时操作系统FreeRTOS-inside

目录简单的任务函数void ATaskFunction( void *pvParameters ){ int iVariableExample = 0; /* 任务通常实现在一个死循环中。 */ for( ;; ) { /* 完成任务功能的代码将放在这里。 */ } /* 如果任务的具体实现会跳出上面的死循环,则此任务必须在函数运行完之前删除。传入NULL参数表示删除的是当前任务 */ vTaskDelete( NULL );

2022-01-07 12:01:18 220

转载 嵌入式 linux

目录关键命令说明系统关机命令linux查看文本的指令mountdmesggrepfindlsusblsoflinux软件开发知识点linux进程间通讯方式内存申请函数gcc编译过程文件系统硬链接和软连接linux内核子系统进程几种状态文件系统组成linux文件类型linux常用的系统调用函数fork函数僵尸进程常见文件说明/proc目录说明fopen参数说明linux驱动开发知识点makefileshell关键命令说明系统关机命令

2022-01-07 11:59:21 275

转载 嵌入式 C语言基础

目录c基础数据类型说明volatile指针函数指针函数指针数组指针数组数组指针指针的指针main函数的返回值const浮点数存储方式c题目printf返回值enum枚举类型可变参数函数链表排序算法选择排序插入排序希尔排序冒泡排序快速排序hash算法hash构造方法hash冲突及解决常用的hash函数c基础数据类型说明volatile指针constmain函数的返回值浮点数存储方式数据类型说明

2022-01-07 11:49:36 831

转载 动图演示常用通信协议原理

这些显示电子系统中信号波形的动图,有助于帮助我们理解传输的机理。1、SPI传输2、I2C 传输3、UART传输4、红外控制红外通信相关文章请移步此处:详解红外遥控编解码。5、串并转换电路6、其他波形动画......

2021-12-29 19:35:36 1201 1

转载 深入理解C语言指针(转发)

一、指针的概念要知道指针的概念,要先了解变量在内存中如何存储的。在存储时,内存被分为一块一块的。每一块都有一个特有的编号。而这个编号可以暂时理解为指针,就像酒店的门牌号一样。1.1、变量和地址先写一段简单的代码:void main(){ int x = 10, int y = 20;}这段代码非常简单,就是两个变量的声明,分别赋值了 10、20。我们把内存当做一个酒店,而每个房间就是一块内存。那么“int x = 10;”和“int y = 20;”的实际含义如下:去酒店订了两个房间,门

2021-12-16 18:56:57 225

转载 c语言指针(整理)

一、指针变量首先读者要明白指针是一个变量,为此作者写了如下代码来验证之:#include "stdio.h"int main(int argc, char **argv){ unsigned int a = 10; unsigned int *p = NULL; p = &a; printf("&a=%d\n",a); printf("&a=%d\n",&a); *p = 20; printf("a=%d\n"

2021-12-16 18:31:40 116

转载 AS608光学指纹识别模块 智能锁/考勤门禁开发/指纹采集模块

AS608指纹传感器

2021-12-13 20:42:26 854

树莓派linux源码 版本:4.19.y

该linux源码用于树莓派内核编译,树莓派内核的编译也是为了驱动的开发。 相关文档看主页 “树莓派开发手册”

2022-08-16

wiringPi.zip

树莓派的wiringPi库,可用于交叉编译。由于树莓派的性能低或者环境安装的不方便,很多时候我们需要在window的虚拟机上进行编程,然后通过编译出ARM可执行文件。这样树莓派就专注于运行可执行文件而不是一股脑的花时间在安装编译环境的过程,这样有利于我们大大的减少开发周期,同时也利于我们项目的管理。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2022-08-14

SPI—读写串行FLASH(W25Q64).zip

在STM32上SPI协议的应用

2021-12-30

Arduino-For-Keil-master.zip

在keil5中以arduino函数库的形式进行编程控制stm32单片机

2021-10-22

基于 STM32F103ZET6 固件库模板.zip

STM32固件库模板,适合初学者

2021-10-22

空空如也

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

TA关注的人

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