自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式中断理解

旋转编码器:用来测量位置、速度或旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位信息即可得知旋转轴的速度和方向。在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。中断嵌套:当有一个中断程序正在运行的时候,又有更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回。

2023-12-21 23:42:57 721

原创 全志H616开发版

SDFormatter TF卡的格式化工具、Win32Diskimager。使用MobaXterm_Personal_20.3连接使用。获取IP后可以通过SSH连接。文件,需要用超级用户权限。脚本处理参数,可以通过。

2023-11-20 23:33:53 286

原创 C语言链表

数组的缺点:增加、删除、改、查比较困难,特别是增加的时候,不够灵活。链表是一种数据结构,是一种数据存放的思想。链表的每一项都是一个结构体。数组特点:元素地址连续。

2023-11-17 17:26:43 130

原创 freeRTOS--软件定时器

简单可以理解为闹钟,到达指定一段时间后,就会响铃。STM32 芯片自带硬件定时器,精度较高、达到定时时间后会触发中断,也可以生成PWM、输入捕获、输出比较,等等,功能强大,但是由于硬件的限制,个数有限。软件定时器也可以实现定时功能,达到定时时间后可调用回调函数,可以在回调函数里处理信息。

2023-11-17 15:18:47 109

原创 freeRTOS--任务通知

获取任务通知,可以设置在退出此函数的时候将任务通知值清零或者减 一。当任务通知用作二值信号量或者计数信号量的时候,使用此函数来 获取信号量。使用任务通知可以替换二值信号量、计数信号量、事件标志组,可以替代长度为1的队列,任务通知速度更快、使用的RAM更少。xClearCountOnExit:指定在成功接收通知后,将通知值清零或减。:用于保存接收到的任务通知值。:表示在函数退出前,清零任务通知值那些位,在清 0。:把通知值清零(二 值信号量);:接收成功,返回任务通知的通知值。被通知任务的通知值按位或。

2023-11-16 22:43:17 111

原创 互斥量与事件标志组

优先级继承:当一个互斥信号量正在被一个低优先级的任务持有时, 如果此时有个高优先级的任。在多数情况下,互斥型信号量和二值型信号量非常相似,但是从功能上二值型信号量用于同步,优先级继承并不能完全的消除优先级翻转的问题,它只是尽可能的降低优先级翻转带来的影响。互斥型信号量和二值型信号量还有一个最大的区别,互斥型信号量可以有效解决优先级反转现。务也尝试获取这个互斥信号量,那么这个高优先级的任务就会被阻塞。释放信号量的过程中,中等优先级任务M。,从而延迟了信号量的释放时间,导致。占有资源,锁定了信号量,

2023-11-15 17:04:58 183

原创 队列与二值信号量、计数型信号量

一、队列简介:队列也称为消息队列,是一种用于消息间进行通信的数据结构,队列可以用于任务与任务之间、中断与任务之间传递消息,队列通常采用先进先出(FIFO)的数据缓冲机制。实验结果:通过按键1按三次,写入值三次;按按键2三次,读出值3次,按第四次读取失败。需求:创建一个队列,按下KEY1向队列发送数据,按下KEY2向队列读取数据。二、队列常见的API函数。

2023-11-14 21:29:03 73

原创 FreeRTOS知识梳理

Real time operating system,中文意思为 实时操作系统,它是一类操作系统,比如uc/OS、FreeRTOS、RTX、RT-Thread 这些都是实时操作系统。interface选择CMSIS_V1,RCC选择Crystal Ceramic Resonator。LED1和LED2引脚设置成Ooutput,KEY1和KEY2引脚设置成Input。三、任务的创建与删除相关函数,FreeRTOS任务的状态。二、移植FreeRTOS到STM32F103C8T6上。

2023-11-13 22:05:04 538 2

原创 基于STM32的烟雾传感器

用另外的杜邦线连接A0和GED,可以看到结果为0,实验正确。1.说到烟雾传感器,就有必要了解一下ADC的工作原理,

2023-11-07 23:02:02 296

原创 STM32 IIC 实验

三、初始化Oled(官方手册上面有),清屏函数,调入图片的亮点到数组,显示函数。uint16_t DevAddress:目标器件的地址,七位地址必须左对齐。uint16_t MemAddSize:目标器件内部寄存器地址数据长度。uint16_t MemAddress:目标器件的目标寄存器地址。写数据的封装:最大的区别是目标器件的目标寄存器地址变成了0x40。uint8_t *pData:待写的数据首地址。uint16_t Size:待写的数据长度。二、HAL_I2C_Mem_Write。

2023-11-06 15:45:40 421

原创 串口通信实验

4.重定向,通过这串代码,可以实现使用printf代替HAL_UART_Transmit(&huart1,ch,strlen(ch),100);该函数用于接收,接收完成后需要memset(ch,0,strlen(ch));使用memest需要加#include需要用的GPIO口为PA9和PA10。1.在CUBEMX配置。

2023-11-03 12:26:01 155

原创 C51单片机IIC协议的应用

1.IIC协议发送一个字节封装。

2023-10-12 09:25:53 97

原创 keil提示“main.c(7): error C231: ‘TL0‘: redefinition”

上午写代码的时候出现这样的报错,尝试了把"reg52.h"换成了依然没用。

2023-10-08 11:54:13 922

原创 嵌入式-C语言结构体选票系统

2023-09-16 00:47:23 35

原创 c语言字符串

函数原型 void *realloc(void *ptr, size_t size):C 库函数 void *realloc(void *ptr, size_t size) 尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。函数原型 void *malloc(size_t size):C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。对于C语言,要重点掌握字符串malloc和realloc函数的使用。

2023-09-14 23:57:26 22

原创 嵌入式- 拒绝焦虑

还有不知道怎么回事,我反正抖音刷多了就会很焦虑,大数据就给我推应届生找不到工作的抖音,说计算机行情很差的抖音,可能外面的确很差,但是不能不外界影响,很可能没有网上描述的那么差,别人投简历的时候没人回,说不定你投递的时候就有人回了,这个还是要讲究时机和运气的,我觉得不能因为外界的因素影响自己的学习效率和状态才是最好的。不管自学两个月后找没找到工作,至少我勇敢的尝试了,也学到知识了。抱着得之坦然,失之淡然,争之必然,顺其自然的心态去学习和找工作,相信结果也不会太差。

2023-09-13 23:14:08 32

原创 C语言 函数指针

对于C语言,函数指针的应用非常的广泛,如下图所示,可以通过函数指针访问学生的成绩。

2023-09-13 00:48:11 24

原创 嵌入式学习之链表

对于链表,要重点掌握链表和数组区别和实现,链表静态添加和动态遍历,链表中point=point-next,链表节点个数的查找,以及链表从指定节点后方插入新节点的知识。

2023-09-11 23:34:21 293

原创 FTP云盘项目(模拟百度网盘)

功能实现:这个 项目使用C语言进行编程,使用Socket通信,当服务器收到客户端接入的时候,创建子进程进行对接,服务器通过字符串处理函数,分割客户端指令,利用文件编程获取本地磁盘上文件的内容,并将内容通过网络发送给客户端,客户端收到数据并创建文件完成文件远程下载功能,普通的文件夹操作指令通过popen,system函数实现。

2023-09-11 01:17:58 151

原创 Linux网络编程

Linux进程间通信有:1.管道2.消息队列2.共享内存3.信号4.信号量这几种通信方式都是基于Linux内核的,不能实现单机与单机之间的通信,所以出现了网络编程,地址:ip+端口号,比如实现FTP文件传输,TCP端口就是21号,telnet的TCP端口号是23号,每个TFTP(简单的文件传输协议)的UDP端口号是69,TCP是面向连接的可靠的文件传输协议,UDP是面向不连接的不可靠的文件传输协议。

2023-09-08 00:35:19 279

原创 linux互斥锁限制共享空间的访问

2023-09-07 01:19:27 25

原创 linux线程讲解

一个进程在同一时刻只做一件事情,进程是程序执行的一个实例。线程是操作系统能够进行运算调度的最小单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务。进程:资源分配的最小单位。线程,程序指向的最小单位。

2023-09-06 00:05:10 76

原创 linux信号量

通过学习linux的信号量,对linux的信号量进行了编程。

2023-09-05 01:45:37 906

原创 linux 共享内存 消息队列

进程间通信有6种:1.无名管道2.命名管道3.消息队列4.共享内存先创建一个内存区域,A、B指向这块共享的内存区域,读取或者写入数据,释放共享内存,干掉共享内存。5.信号6.信号量。

2023-09-04 00:52:33 112

原创 C语言面试题值反转字符串

2.定义宏函数product,调用product后,里面的i++和++i都是加两次1,++i就是两个加2后的i相乘,i++是开始的i和+1后的i相乘。3.用i = (j=4,k =8,m =16);这种定义方法,最终i和最后一个值相等。1.C语言优先级 :左++高于+=高于 右++4.实现字符串的反转。

2023-09-02 17:49:08 348

原创 嵌入式学习之进程

UNIX系统IPC是各种进程通信方式的统称。

2023-09-01 21:46:36 1430

原创 嵌入式学习之popen函数

需要重点掌握进程配合相关概念,创建进程函数fork的使用,理解进程创建发生了什么事,exec族函数,exec族函数配合fork使用。

2023-08-31 19:07:15 93

原创 嵌入式学习之exec族函数

今天,主要学习的内容是exec族函数和system函数,以及system函数和fork函数的配合使用。

2023-08-30 23:31:29 86

原创 嵌入式学习之进程

今天主要学习了进程,对fork的相关知识有了更加清楚的理解。

2023-08-30 00:07:09 124

原创 嵌入式学习之进程

每个进程都有一个非负整数表示的唯一ID,叫做pid,类似身份证Pid=0: 称为交换进程(swapper)作用—进程调度Pid=1:init进程作用—系统初始化。进程是程序的一次运行活动,通俗点意思是程序跑起来了,系统中就多了一个进程。fork函数调用成功,返回两次返回值为0, 代表当前进程是子进程返回值非负数,代表当前进程为父进程调用失败,返回-1。进程A创建了进程B那么A叫做父进程,B叫做子进程,父子进程是相对的概念,理解为人类中的父子关系。1.什么是程序,什么是进程,有什么区别。

2023-08-28 23:28:00 76

原创 嵌入式学习之指针

今天周天,主要对linux系统编程的知识进行了学习,但是很多精华还是没有学到位,重点的学习内容是把linux 中open,write,lseek,close的相关操作进行了学习。其次再次把函数指针,数组指针,指针函数,指针数组进行了复习。

2023-08-27 23:50:25 72

原创 嵌入式学习之文件编程应用

通过linux可以修改程序的配置文件,下面是我用到的代码提示。

2023-08-26 00:18:05 18

原创 嵌入式学习之linux

今天,主要对linux文件操作原理进行了学习,主要学习的内容就是对linux文件操作原理进行理解。

2023-08-25 00:15:55 942

原创 嵌入式学习之鸡汤文章

今天在学习上面的话,再看了一下C语言指针部分的思维导图,看不进去了,所以也没有学习,今天加班到8点才回家,有点烦,我们新来接我班的同事也很烦,语气里面透露着再这样加班严重就不干了,哎,难搞,我是既希望他来接替我的岗位又不希望他接替我的岗位,希望他接替我岗位的原因是我觉得这个岗位没有发展空间,不希望他接替我岗位的原因是我现在存款只有几千,我怕我裸辞然后找工作压力太大,难搞,总的来说,还是希望他来接替我的岗位,这样我才有更多的精力学习嵌入式,试一试认真学习两个月,看看能不能找到嵌入式的工作。

2023-08-24 00:41:32 20

原创 嵌入式学习之指针函数

今天重点对指针函数进行了理解,写的代码如下:

2023-08-22 23:25:47 27

原创 再次复习 数组指针 函数指针 指针数组 指针函数

对于数组指针、函数指针、指针数组、指针函数的理解真的还需要深入理解才行,不然不能学习到C语言的精华。

2023-08-22 01:28:08 23

原创 嵌入式学习之C语言指针的定义

11.一个函数的指针,指向函数的类型是有两个整形参数并且返回一个函数指针的函数,返回的函数指针指向一个整形数的函数:int (*(*a)(int ,int))(int);7.一个指向指针的指针,被指向的指针指向一个有10个整形数的数组:int (**a)[10];9.一个指向函数的指针,该函数有一个整形参数并返回一个整形数:int (*a)(int)8.一个指向数组的指针,该数组有10个整形指针:int *(*a)(int );5.一个有10个指针的数组,每个指针指向一个整型数:int *a[10];

2023-08-21 00:33:11 71

原创 嵌入式学习之投票系统改进版本

C语言写的投票系统改进版本

2023-08-19 17:54:34 94

原创 嵌入式学习之选票系统

今天是值得高兴的一天,今天我在咸鱼上面买了一个显示屏回来,这块27寸的显示屏用起来还有一点不习惯,在坐地铁的时候,我是小心又小心,非常害怕把它去弄坏了,回来安装好后,吃了晚饭,看着笔记写了一个选票系统的代码,还是挺有意思的,代码如下:

2023-08-19 00:06:28 64

原创 嵌入式学习之结构体数组运用

结构体数组在C语言的运用中是非常的广泛的,结构体其实就类似于我们所用到的int、char、long、short之类的,通过定义结构体,可以让C语言运用更加的有方向。下面是我用C语言结构体写的代码。

2023-08-17 23:18:04 35

空空如也

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

TA关注的人

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