自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32 PWM驱动呼吸灯

stm32pwm驱动呼吸灯

2022-09-05 19:48:41 2955 1

原创 stm32 TIM定时器中断

一、TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断;16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时;不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能;根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。二、定时器类型STM32F103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4,一个高级定时器,三个通用定时器

2022-04-28 17:40:56 8726 4

原创 stm32外部中断EXTI

一、中断的概念:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。二、中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源。三、中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回。四、中断处理过程1、中断请求在中断请求被响应之前会一直发送中断请

2022-04-23 15:29:54 1071

原创 stm32GPIO输入

stm32GPIO输入

2022-04-21 20:09:59 1953 1

原创 stm32GPIO输出

一、GPIO简介GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V(引脚中带FT的可容忍5V电压)。输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。二、GPIO结构在stm32中,所有的GPIO外设都是挂载在APB2总...

2022-04-20 21:42:36 6585

原创 树莓派与串口通信

树莓派与串口通信

2022-04-20 10:37:44 1565

原创 树莓派控制超声波模块

树莓派控制超声波模块

2022-04-19 20:27:45 424

原创 树莓派控制继电器

一、树莓派控制继电器单路继电器的电压选3.3V。我要使用GPIO1引脚驱动继电器。GPIO1的模式为IN,要让它给继电器供电,因此需要设置模式为OUT,接下来就是设置高低电平了。测试demo:#include <wiringPi.h>#include <stdio.h>#include <stdlib.h>#define switch 1int main(){ if(wiringPiSetup()==-1){ //初始

2022-04-19 11:53:14 2332

原创 树莓派的wiringPi库

树莓派wiringPi库

2022-04-19 09:21:24 2067

原创 树莓派开发环境搭建

树莓派串口登录、SSH登录

2022-04-18 19:26:36 1784

原创 字符串相关API的实现

strcpy,strcat,strcmp,strstr函数的实现

2022-04-06 17:51:19 348

原创 Linux的软链接和硬链接

软链接相当于Windows下的快捷方式,ln -s file file.s 创建一个软链接:这里软链接的大小为4个字节,表示软链接的路径。Linux 下的软链接行为和 windows 下的快捷方式差不多,但是如果是用相对路径创建的软链接,在软 链接移动之后就会失效,无法访问。这一点和 windows 快捷方式不同,windows 快捷方式随便放哪里 都行。失效的软链接,不能查看内容。所以创建软链接最好用绝对路径,这样随便搬移也...

2022-04-04 22:12:57 1141

原创 TCP通信时序----三次握手和四次挥手

一、三次握手三次握手,即C/S模型下客户端与服务端连接要进行三次通信,一般由客户端主动发起,SYN是专门用来建立连接的标志位,在建立连接的过程中通常会携带数据包,如图中1000(0),1000表示数据包,(0)是数据包的大小,0表示无数据,纯建立连接,<mss 1460>,1460表示建立连接后传输数据的上限。服务器收到连接请求后同意连接会做应答,应答标志位是ACK,1001表示之前的数据都收到,SYN标志位占一个字节,所以是1001,同时服务器也会向客户端发起连接,发送...

2022-03-22 15:46:49 3433

原创 gdb调试指令及常见错误

gdb调试详细流程,调试指令以及常见的错误

2022-03-15 12:03:59 4122

原创 Linux网络编程--FTP云盘

一、用到的API1.strtok()函数strtok函数是用来分解字符串的,其原型是:char *strtok(char str[], const char *delim);其中str是要分解的字符串,delim是字符串中用来分解的字符,该函数返回分解后的字符串的起始位置指针。之所以是分解,就是说并没有生成新的字符串,只是在源字符串上面做了一些手脚,使得源字符串发生了变化,所以一定要注意,源字符串发生了变化!!!// 例1#include <string.h> void mai

2022-03-13 15:00:43 2970

原创 Linux内核驱动编译测试

1.将驱动框架复制到drives下的char文件夹中,因为IO属于字符设备目录。2.修改char文件夹下的Makefile添加如下代码obj-m += pin4drivers.opin4drivers为文件名3.在Makefile文件中指定用-m方式编译,接下来执行make modulesARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make modules指定a

2022-03-09 14:53:07 841

原创 Linux线程---生产者消费者模型

一、进程互斥与同步进程互斥与同步机制的主要任务是:对多个相关进程在执行次序上进行协调,使并发执行的诸进程间能按照一定的规则(或时序)共享系统资源,并能很好的相互合作,从而使程序能够正确执行。在多个进程共享资源或为完成某一任务而相互合作时,可能存在以下两种形式的制约关系:(1)间接相互制约关系(互斥)多个程序并发执行时,要对临界资源进行共享,所以只能互斥的访问临界资源,这些进程间就形成了间接制约关系。(2)直接相互制约关系(同步)多个进程间为完成某一共同任务时必须合作进行。比如一个进程用于输入数据

2022-02-27 11:47:06 280

原创 Linux学习笔记---进程间通信(下)(共享内存和信号)

一、共享内存1、使用的API:#include <sys/ipc.h>#include <sys/shm.h>#include <sys/types.h>int shmget(key_t key, size_t size, int shmflg); //创建void *shmat(int shmid, const void *shmaddr, int shmflg);//映射//通过指令控制int shmctl(int shmid, int cmd,

2022-02-18 11:12:40 299

原创 Linux学习笔记---线程

一、线程概述(一)、进程与线程的区别典型的UNIX/Linux进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。进程是程序执行时的一个实例,是担当分配系统资源(CPU时间、内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。线程是操作系统能够进行运算调度的最小单位。它被

2022-01-23 23:22:27 101

原创 Linux学习笔记---进程间通信(上)(管道和消息队列)

一、管道通信1.无名管道 #include <unistd.h> int pipe(int pipefd[2]); #define _GNU_SOURCE /* See feature_test_macros(7) */ #include <unistd.h> int pipe2(int pipefd[2], int flags);pipe() 创建一个管道,一个可以使用的单向数据通道用于进程间通信。 数组 pipefd 用

2022-01-19 22:47:26 1264

原创 指针与数组

指向数组的指针@TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式

2021-12-11 12:11:35 1177

空空如也

空空如也

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

TA关注的人

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