自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式数据库SQlite3

返回值:成功SQLITE_OK。

2024-07-29 21:19:07 262

原创 Linux网络编程

​ 第四次挥手:客户端收到FIN之后,再发送一个ACK报文作为应答,且把服务端的序列号加1作为ACK报文的序列号值,此时客户端处于TIME_WAIT状态。​ 第二次挥手:服务器收到FIN之后,会发送ACK报文,并且把客户端的序列号值加1作为ACK报文的序列号值,表明已经收到客户端的报文了,此时服务器处于CLOSE_WAIT状态。​ 第三次挥手:如果服务器也想断开连接了,和客户端的第一次挥手一样,发送FIN报文,且指定一个序列号。​ 第一次挥手:客户端发送一个FIN报文,报文中会指定一个序列号。

2024-07-26 16:05:43 579

原创 Linux线程和线程同步学习/复习

​ 线程的分离属性是用来指定线程的结束时是否需要对其资源进行清理。当一个线程被创建时,可以设置其为分离属性,这意味着当线程结束时,系统会自动释放其占用的资源,而不需要其他线程来等待它的结束并回收资源。在C/C++中,可以使用pthread库中的pthread_attr_setdetachstate函数来设置线程的分离属性。​ exit(0)是退出整个进程,退出单一线程可以使用pthread_exit(NULL);初始化:pthread_mutex_init(&mutex,NULL);

2024-07-23 16:07:19 918

原创 Linux进程与进程间通信学习/复习

操作系统将不同进程之间共享内存安排为同一段物理内存,进程可以将共享内存连接到它们自己的地址空间中,如果某个进程修改了共享内存中的数据,其他的进程读到的数据也将改变。​ 并行:当系统有一个以上CPU时,一个CPU执行一个进程时,其他CPU也能执行其他进程,两个进程互不抢占CPU资源,可以同时进行,这种方式就成为并行。​ fork()函数通过系统调用 创建一个与原来进程几乎完全相同的进程,也就是两个进程可以作完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。数据写端流入,读端流出。

2024-07-20 23:17:34 604

原创 Linux文件IO学习/复习

一、Linux目录结构以及文件操作1.Linux命令操作的目的2.Linux文件目录分布3.常用Linux命令4.vi编辑器的简单使用5.vi常用两种模式二、Linux文件open函数文件权限close函数write函数read函数lseek函数main函数参数cp指令的实现fopen函数freadfwritefseekfclose文件IO和标准IO的区别缓存的概念三类读写函数1.行缓存,遇到换行符(\n),或者写满用户缓存时,即调用系统调用函数2.无缓存,只要用户调用这个函数,就会写到内核中。

2024-07-18 14:07:29 234

原创 内存管理和C语言拓展

​ C语言允许宏带参数,在宏定义中的参数称为形参,在宏调用中的参数称为实参。对带参数的宏,调用中不仅要宏展开,而且要用实参去代换形参。#define 宏名(形参表) 字符串。

2024-07-16 13:58:41 386

原创 C语言学习/复习 (指针篇)

​ 在C语言中,内存单元的地址称为指针,专门用来存放地址的变量,有时对地址,指针和指针变量不区分,统称为指针。​ 因为数组名是地址常量,所以px++或px–是正确的,但x++或x–就是错误的,只能x+1或*(x+2)操作。​ C语言中数组的指针是指数组在内存中的起始地址,数组元素的地址是指 数组元素在内存中的起始地址。​ 注意:指针变量和数组的指针(或叫数组名)在本质上不同,指针变量是地址变量,而数组名是地址常量。​ 初始化字符指针是把内存中字符串的首地址赋予指针,而不是把该字符串复制到指针中。

2024-07-13 16:19:24 961

原创 C语言学习/复习(不包含指针)

​ 2.只要程序没有结束,就不会随着说明他的程序段的约束而消失,它下次再调用该函数,该存储类型的变量不会重新说明,而且还保留上次调用存储。​ 具有一定顺序关系的若干个变量的集合,组成数组的各个变量称为元素。连接前,两串均以’\0’结束,连接后,串1的’\0’取消,新船最后加’\0’。​ 变量在程序中用变量名表示,变量名由字母、数字、下划线组成,不能以数字开始,不能和C的关键字重名。extern称为外部参照引用型,使用extern说明的变量是想引用在其他文件中的函数体外声明的变量。

2024-07-12 18:28:03 854

原创 建议收藏万字长文!嵌入式Linux系统移植原理与方法总结

本文是对整个Linux系统移植的讲解,适宜有一定基础的初学者进行复习,基本可以自己制作PCB之后自己根据这个方法烧写Linux系统,不涉及U-Boot与Linux的源码和编译流程的讲解(这东西后面再学没事的),只讲最实用的方法,如果你有跟着烧写过一遍Linux系统,那么本文会让你重新复习一遍整个流程,加深对Linux系统移植的理解与应用。

2023-09-24 13:09:07 2206 3

原创 Chatgpt+机器人的构想

而且我们学的stm32这款微控制器的ST公司,以后主推HAL库开发(抽象印象层),而主要用HAL库开发的IDE能通过 图形配置芯片 最后自动输出整个工程的代码,大大减少我初始化各个芯片管脚功能的工作量,这使得我只需要编写业务代码就行了。就是等gpt的更新迭代写代码能力越来越强,他能够根据与人类对话和当时的环境 实时输出嵌入式业务代码,真正做到自己操控自己。我感觉大语言模型以后真的是机器人的重要技术栈啊,相当于机器的大脑一样。而这编写业务代码的任务以后就交给chatgpt,真的就是机器人随心所欲控制自己了。

2023-08-30 02:05:04 90

原创 嵌入式Linux驱动学习_简单了解Cortex-A7 MPCore架构

L1 可选择 8KB、16KB、32KB、64KB,L2 Cache 可以不配,也可以选择 128KB、256KB、512KB、1024KB。R8~R12有俩种寄存器,FIQ模式下它们对应Rx_irq物理寄存器,其他模式对应Rx物理寄存器。R14共有7个物理寄存器,其中一个是User、Sys和Hyp共有的。R13一共有8个物理寄存器,其中一个是User和Sys模式共用的,剩下7个对应7种不同模式。指令的地址,然后对于32位的ARM处理器,每条指令是4个字节,所以PC=执行程序地址+8个字节。

2023-08-29 16:23:38 209 1

原创 学了stm32怎么看数据手册?

引脚定义 |介绍不同封装的引脚分布、引脚定义等,含引脚特性、复用功能、脚位等 3。主要内部SRAM1(112KB)、辅助内部SRAM2(16KB)、辅助内部SRAM3(64KB)、电气特性 |介绍芯片的详细电气特性,包括工作电压、电流、温度、各外设资源的电气特性 5。M4内核I总线、D总线、S总线、DMA1存储器总线、DMA2存储器总线、DMA2外设总线、被动单元:内部FLASH、内部SRAM、FSMC、AHB到APB的桥 它连接的所有APB外设。

2023-08-28 17:32:40 306 1

原创 入门LinuxC编程(嵌入式Linux掌握)

* 表示目标模式中%及其之前的部分,如果目标是test/a.test.c,目标模式为a.%.c那么$*就是test/a.test。这条规则的目标是main,main.o、input.o和calcu.o是生成main的依赖文件,如果要更新目标main,就必须。将字符串“a.c b.c c.c”中所有符合%.c的字符串替换为%.o,替换完后就是“a.o b.o c.o”–c main.c”,这行命令很熟悉了吧,就是不链接编译 main.c,生成 main.o,其它两个.o 文件同理。

2023-08-28 17:26:45 245 1

原创 51单片机基本工作引脚

引脚功能

2022-10-28 16:09:07 3194

原创 线性规划Matlab基于问题求解方法

线性规划中如果当约束条件和目标函数比较复杂,运用matlab中创建最大值问题的函数来会更简便一些,而且此方法以后也用的更多些

2022-04-15 22:05:45 2878 5

K980 Keyboard Setup V1.0 20221011.exe

K980 Keyboard Setup V1.0 20221011.exe

2022-12-11

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

TA关注的人

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