自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 【毕设】基于STM32的智能超市货架管理系统(STM32、ESP01S、HX711、TF卡、LCD屏幕、FreeRTOS、Python、Django)

该项目为作者的毕业设计,但项目仍有许多BUG,尤其是在堆栈方面的BUG,作者使用的时是STM32F103ZET6,但堆栈仍不够用,可能是作者的水平太低,解决不了。需要代码的可以私信作者。本系统还有很多BUG,但对于作者一个普通大学的一名普通学生足够毕业了。

2024-05-22 00:27:02 726

原创 毕设BUG之cJSON把内存挤爆了

在我的毕业设计里,有这样一个场景,我要从上位机下发json数据,在STM32上解包。

2024-04-19 09:46:38 706

原创 Python Django 向STM32传输图片数据流,在STM32上显示图片

这里有一个需求要将数据库里的图片同步到单片机上显示出来。

2024-03-31 23:19:00 661

原创 Linux进程编程(8)exce族函数的使用

exec系列函数用于在当前进程上下文中加载并执行一个新的程序。换句话说,exec会替换当前进程的代码、数据段和堆栈等信息为新程序的相应部分,然后执行新程序。这个过程中,进程的 PID 不会改变,但是几乎所有其他的内容都会被新程序替换。这些示例覆盖了 exec 系列函数中的主要变体,每种变体都有其特定用途和优势。例如,execl 和 execle 允许你直接在函数调用中指定参数,而 execv 和 execvp 允许你通过数组传递参数,这在参数数量未知时非常有用。

2023-09-08 15:56:38 701 1

原创 Linux :FTP服务器(第二版)

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

2023-09-08 15:30:04 267

原创 Linux :FTP服务器(第一版)

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

2023-09-08 00:57:08 303

原创 【基于香橙派orangepi zero 2 的Linux的智能垃圾桶项目】

本项目的代码比较凌乱,也是本人暂时没有时间优化,但是是可以正常使用的,注释也比较少,阅读有些许困难,请见谅,待本人时间充裕了再去做优化和注释。

2023-09-05 13:20:17 413

原创 调试使用百度OCR人工智能平台的通用物体和场景识别API

调试使用百度OCR人工智能平台的通用物体和场景识别API。

2023-09-05 00:03:08 782

原创 【Linux使用libcurl库进行Http请求】

这种技术主要用于网络编程,特别是用于进行HTTP请求。在这个具体的例子中,使用的是C语言与libcurl库。libcurl是一个开放源码的客户端URL传输库,它支持多种协议,如HTTP、FTP、SMTP等。libcurl提供了一组API函数,使得程序能够与服务器进行各种类型的数据交换和通信。在这个程序中,libcurl用于执行HTTP GET和POST请求,获取或发送数据。总结一下,这种技术通常被称为HTTP客户端编程,或更具体地,使用C语言和libcurl进行HTTP客户端编程。

2023-09-04 23:41:11 1040

原创 system函数与popen函数的介绍与使用

fgets是C语言中用于从文件或流中读取字符串的函数。函数原型参数str: 指向一个字符数组的指针,该数组用于存储从stream中读取的字符串。n: 要读取的最大字符数(包括最后的空字符)。通常,这是字符数组的大小。stream: 要读取的输入流,例如stdin(标准输入)或一个文件指针。返回值如果成功,函数返回相同的str参数。如果到达文件末尾或发生读取错误,函数返回NULL。注意事项读取的字符串会包括换行符(如果有)。读取的字符串在n-1。

2023-08-15 00:21:46 970

原创 Linux网络编程

物理层:涉及到物理连接、电压、时钟频率等。数据链路层:帧的发送和接收,以及MAC地址。网络层:处理数据包和IP地址,负责数据包的路由。传输层:为应用层提供端对端的通信服务。主要协议有TCP和UDP。会话层:建立、维护和结束会话。表示层:确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。应用层:面向用户的网络服务。当然可以。下面我将按照步骤描述服务器和客户端代码的逻辑。

2023-08-13 19:29:20 381

原创 Linux进程编程(7)信号携带信息

我们讨论了关于在Linux中使用信号进行进程间通信的主题。信号是一种进程之间进行异步通信的方式,用于通知目标进程发生了某个事件。我们探讨了如何发送和接收信号,以及如何在信号处理函数中使用siginfo_t结构体来获取附加的信号信息。信号是异步通信的一种形式,用于通知进程某个事件的发生。信号可以由内核、其他进程、或进程本身发出。使用kill函数或sigqueue函数可以向目标进程发送信号。使用sigaction函数设置信号处理函数,以便在接收到信号时执行特定操作。

2023-08-12 00:54:25 261

原创 香橙派zero2自动挂载U盘

香橙派zero2自动挂载U盘。

2023-08-10 17:38:27 782

原创 Linux进程编程(6)信号量编程

信号和信号量是操作系统中用于进程间通信和同步的两个概念。信号是操作系统用于通知进程发生了某个事件或条件的机制。它是一种异步通信方式,一个进程可以发送一个信号给另一个进程,后者在接收到信号后可以采取相应的操作。常见的信号包括SIGINT(Ctrl+C中断信号)、SIGTERM(终止信号)、SIGUSR1(用户定义信号1)等。信号的处理可以由进程预先设置,通常是通过注册信号处理函数来处理不同的信号。信号量是一种用于同步多个进程访问共享资源的机制。信号量可以被看作是一个计数器,它可以被多个进程同时访问和操作。

2023-08-09 17:34:45 444

原创 Linux进程编程(5)消息队列

消息队列是一种进程间通信机制,允许不同进程之间通过传递消息来进行数据交换。定义用于消息传递的结构体,通常包括消息类型和消息内容字段。使用ftok函数生成用于标识消息队列的键值。使用msgget函数创建或获取消息队列,得到消息队列标识符。使用msgsnd函数将消息发送到消息队列,需要指定消息队列标识符、消息结构体、消息大小和标志。使用msgrcv函数从消息队列中接收消息,需要指定消息队列标识符、消息结构体、消息大小、消息类型和标志。对于消息队列相关函数,要检查返回值,处理可能的错误情况,如创建失败或接收失败。

2023-08-04 23:20:47 226

原创 Linux进程编程(4)共享内存

共享内存是进程间高效通信的一种方式,适用于需要大量数据传输、实时通信和资源共享的场景。在代码中,通过共享内存,父子进程可以共享数据,通过控制函数和适当的顺序,实现了数据的交换和处理。注意要小心处理同步和互斥,以避免数据竞争等问题。

2023-08-04 16:15:03 425

原创 Linux进程编程(3)进程间管道通信之有名管道

有名管道(Named Pipe)是一种进程间通信机制,用于在不相关的进程之间传递数据。与无名管道(Anonymous Pipe)不同,有名管道在文件系统中有一个名称,并且可以被多个进程共同访问。持久性: 有名管道在文件系统中有一个路径和名称,因此它们在进程退出后仍然存在,其他进程可以在之后重新打开和使用它们。多进程访问: 多个进程可以同时通过有名管道进行通信。这些进程可以是不相关的,可以是同一用户的不同程序,也可以是不同用户的程序。半双工通信: 有名管道是半双工的,这意味着它们只能在一个方向上传递数据。

2023-08-02 17:21:08 287

原创 Linux进程编程(2)进程间管道通信之无名管道

管道(Pipe)是一种用于进程间通信的机制,在Unix和类Unix系统中广泛使用。它允许一个进程将数据写入到管道中,而另一个进程则可以从管道中读取这些数据。管道通常用于在父进程和子进程之间传递数据。管道有两种类型:有名管道(Named Pipe)和无名管道(Unnamed Pipe)。在这里,我们主要讨论无名管道,因为在本篇文章中使用的就是无名管道。无名管道是一种匿名的、单向的通信通道。它只能在有亲缘关系(父子关系)的进程之间使用,因为无名管道在创建时并没有名字,只存在于相应的进程内部。

2023-08-01 22:50:13 657 1

原创 Linux进程编程(1)【进程的创建与控制】

进程就是一个程序的执行实例,也就是正在执行的程序。在操作系统的眼里,进程就是一个担当分配系统资源CPU时间、内存的实体。

2023-07-31 22:32:27 224 1

原创 Linux线程编程(4)【线程条件】

在之前提供的示例代码中,生产者和消费者是两个不同的线程函数,它们分别用于生产数据和消费数据,模拟生产者-消费者问题。生产者函数:// 生产数据并放入缓冲区 // ... // 通知消费者可以消费了 // ... return NULL;在生产者函数中,线程会循环执行,生产一系列数据并放入共享缓冲区。在生产数据之前,生产者线程会对互斥锁进行上锁,以确保在生产数据时其他线程无法访问共享缓冲区。如果缓冲区已满(即),生产者线程会调用函数等待条件变量cond_full条件满足(即缓冲区不满)的通知。

2023-07-29 20:12:33 148 1

原创 Linux线程编程(3)【互斥锁】

互斥锁(Mutex,全称Mutual Exclusion)是一种并发编程中常用的同步机制,用于保护共享资源的访问,以避免多个线程同时访问共享资源而导致的数据竞争和不确定的结果。互斥锁的主要目的是确保在任意时刻只有一个线程可以获取锁,并进入临界区(修改共享资源)。其他线程在尝试获取该锁时会被阻塞,直到持有锁的线程释放锁为止。这样,通过对共享资源的访问进行串行化,就可以避免并发访问带来的问题。互斥锁通常有两个状态:锁定(locked)和未锁定(unlocked)。

2023-07-29 14:10:25 351 1

原创 Liunx线程编程(2)【共享内存】

Liunx线程编程(2)【共享内存】

2023-07-28 22:57:29 134 1

原创 Linux线程编程(1)

提示:基础线程编程。

2023-07-24 20:38:17 71

原创 【C语言实现Linux cp命令】

实现Linux cp命令cp指令是用于复制文件或目录的指令,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。

2023-07-22 18:10:00 488

原创 【stm32+ESP01s连接到阿里云物联网飞燕平台】

这次的之所以再次写关于连接到云平台的文章是因为学校的课设,所以只能再次掏出了这份年久失修的代码了。

2023-06-27 23:05:41 3203 2

原创 C语言字符串

C语言字符串。

2023-03-11 22:52:04 127

原创 C语言 链表

C语言链表的应用

2023-03-01 21:58:37 130

原创 C语言 数组

二维数组是特殊的一维数组,每个元素又是一个数组,大小要确定。

2023-02-23 15:16:11 96

原创 数组指针和指针数组

能不能定义一个指针,让指针偏移的时候,也偏移对应大小的数组?数组指针:定义一个指针,指向数组。数组指针:真正等同于二维数组名。指针数组:存放地址的数组函数指针数组!本质上是一个数组。

2023-02-23 13:35:42 83

原创 C语言if else和switch case

C语言的if else 和switch case是常用的条件判断语句。

2023-02-22 14:45:55 387

原创 C语言puts、printf、putchar、getchar函数的使用

C语言puts、printf、putchar、getchar函数的使用。

2023-02-22 13:16:22 809

原创 【冒泡排序与简单选择排序】

【冒泡排序与简单选择排序】

2023-02-22 13:06:37 84

原创 【结构体指针】

结构体指针与普通指针并无太大区别,就是把以前的普通变量名,或者下标访问的.(点)运算符,改成结构体指针的->。

2023-02-19 22:32:32 113

原创 【函数指针与指针函数】

函数指针是指向函数的指针;指针函数是返回值为指针的函数。

2023-02-17 17:18:46 78

原创 关于Stm32上传数据到腾讯云及接收和数据处理的一些问题

关于Stm32上传数据到腾讯云及接收和数据处理的一些问题

2023-01-11 15:02:06 1618 1

原创 stm32+ESP01s连接到腾讯云物联网开发平台IOT

接上一篇文章测试接入腾讯云物联网开发平台本文章将使用stm32f103c8t6+esp01s接入腾讯云物联网开发平台提醒一下:esp01s建议去安信可官网购买MQTT和AT的那款,如果只有AT的话,就需要自己重新烧录了。这样就能成功实现用腾讯连连小程序控制stm32的灯的亮灭了。......

2022-08-13 05:28:34 8395 9

原创 测试接入腾讯云物联网开发平台

本人在测试连接腾讯云物联网开发平台时遇到了一些问题,所以来分享一下自己的解决方法

2022-08-13 01:09:09 3433 1

stm32与esp01s接入腾讯云物联网开发平台,并用腾讯连连控制stm32开发板上的LED灯的亮灭

stm32与esp01s接入腾讯云物联网开发平台,并用腾讯连连控制stm32开发板上的LED灯的亮灭。(亲测有效)

2022-08-13

简易与stm32交互的python web

采用tcp连接与stm32进行简易交互,折线图绘制温湿度趋势,但能力有限,目前该程序只能单线程应用。

2022-07-13

空空如也

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

TA关注的人

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