- 博客(9)
- 收藏
- 关注
原创 详细了解多线程和多进程 C/C++
进程(Process)是程序在操作系统中的一次运行实例,是资源分配的基本单位,每个进程都有自己独立的地址空间、代码、数据和系统资源,多个进程之间相互独立,但可以通过进程间通信(IPC)进行交互。
2025-03-14 15:12:20
278
原创 TCP和UDP原理即网络编程c/c++
通用套接字选项(SOL_SOCKET):SO_RCVTIMEO:设置接收超时时间。影响连接过程中等待服务器响应的时间。SO_SNDTIMEO:设置发送超时时间。影响连接过程中发送数据的时间。SO_KEEPALIVE:设置是否启用 TCP keepalive。影响连接在空闲状态下的维持。SO_REUSEADDR:允许重用本地地址和端口。影响连接后,立即重新使用地址和端口。SO_LINGER:设置套接字关闭时的行为。影响断开连接时,未发送完毕的数据的处理方式。
2025-03-12 16:26:48
1003
原创 pid 算法代码
// pid.c#include "pid.h"#include "main.h"// pid结构体的初始化void PIDStructInit(_PID *pid,float target,float p,float i,float d){ pid->p = p; pid->i = i; pid->d = d; pid->target = target; pid->err_curr = 0; pid-&
2023-12-08 12:14:29
630
原创 PID算法,增量式和位置式控制,实现代码
在我们学习PID之前在程序经常会写if(温度 < 温度阈值) {加热 } else {不加热 }他就是直接判断当前的测量值是否跟我的阈值相同,如果相同做什么,不相同就做什么。这样虽然可以做出判断保证这个事件有被处理但是不精确,就比如这个加热模块,我要保证这个温度保持在这个阈值上,如果我当前温度大于阈值我要停止加热,但是由于我保险丝或者加热器还有温度,这个温度就会影响我现在这个温度,导致我们测量的温度会比我们想要的温度高那么一点点,反之亦然。
2023-12-08 12:11:10
4544
1
原创 STM32F103c8t6+ESP8266(esp-01s)+MQTT固件+HAL库 连接阿里云(最详细+可移植)教程
利用stm32和esp-01s+MQTT固件连接阿里云平台
2023-07-29 11:59:20
16652
16
原创 STM32F407的串口接收不定长数据两种方式HAL库
在stm32f4xx_it.c中,分别判断是否是接收中断还是空闲中断,如果是接收中断调用HAL_UART_Receive去接收一个数组,当一个数据帧接受完,就触发了空闲中断,以为串口接不到数据了,就直接放开串口,进入空闲中断后操作。开启串口接收和串口的空闲中断之后就是一直等待 ,等待串口接收到数据,一旦接收数据就触发串口中断进入USART1_IRQHandler函数。还是在usart.c的MX_USART1_UART_Init这个函数在后面加上开启中断的代码,开启DMA的接收。来搞这个串口的不定长接收。
2023-05-26 15:19:24
4607
13
原创 GY39测量温湿度和光照强度用C51单片机实现
GY-39 是一款低成本,气压,温湿度,光强度传感器模块。工作电压 3-5v,功耗小,安装方便。其工作原理是, MCU 收集各种传感器数据,统一处理,直接输出计算后的结果。在此模块中,有两种方式读取数据,即串口 UART( TTL 电平)或者 IIC( 2 线)。这里就是利用C51的串口采集GY-39的数据。通信协议串口通信参数可以有以下两种选择:1、波特率: 9600 bps 校验位: N 数据位: 8 停止位: 1。
2023-05-20 10:18:06
4178
4
STM32F103c8t6+ESP8266(esp-01s)+MQTT固件+HAL库 连接阿里云
2023-07-29
C51单片机采集GY-39模块的数据,显示在LCD1602
2023-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人