- 博客(25)
- 收藏
- 关注
原创 26-进程介绍和实现
程序是存储在硬盘里面的,比如说可执行文件a.out.当程序开始运行,它就是一个进程了。一个进程它会申请栈空间(存储临时变量),堆空间(用户自己申请)。.text存储程序本身。.bss存储未初始化的全局变量。.data存储已经初始的全局变量。.rodata存储常量区。
2025-09-04 15:23:10
263
原创 25-ROS简单的发布者和订阅者
我们也制作了一个叫做listener的订阅者,让我们运行它。在src目录下创建listener.cpp文件。在src目录下创建talker.cpp文件。①进入文件包,创建文件夹。
2025-08-14 15:50:15
366
原创 19-esp32打印串口
串口通信参数包括波特率(Baud Rate)、数据位(Data Bits)、校验位(Parity Bits)、停止位(Stop Bits)等。波特率:衡量通信速度的参数,它表示每秒钟传送的 bit 的个数。数据位:衡量通信中实际数据位的参数,表示一个信息包里包含的数据位的个数。停止位:用于表示单个信息包的最后位,典型值为 1、1.5 和 2 位。由于数据是在传输线上传输的,每个设备都有自己的时钟,很有可能在通信过程中出现不同步,停止位不仅仅表示传输的结束,还能提供校正时钟同步的机会。
2025-07-26 17:33:47
496
原创 18-ESP32点亮灯
导入头文件“driver/gpio.h”,通过设置一个结构体gpio_config_t,将IO48配置为输出模式,无上拉下拉且不支持中断。使用该方法的好处就是随心所欲,你可以按照自己的意向将对应的IO口配置为输入或输出,上拉或下拉,边沿中断或电平中断。.pin_bit_mask = (1ULL<<LED_PIN), //配置引脚.mode =GPIO_MODE_OUTPUT, //输出模式.pull_up_en = GPIO_PULLUP_DISABLE, //不使能上拉。
2025-07-25 19:42:55
380
原创 17-STM32f103驱动超声波模块
超声波模块通过发送声波,然后计算声波的传播时间,最后获得物体的距离。1、典型工作用电压:5V。2、超小静态工作电流:小于 2mA。3、感应角度:不大于 15 度。4、探测距离:2cm-400cm5、高精度:可达 0.3cm。6、盲区(2cm)超近。7、完全谦容 GH-311 防盗模块。
2025-07-20 11:10:34
398
原创 16-STM32F013的滴答定时器
SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号: 15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。Cortex‐M3处理器内部包含了一个简单的定时器。因为所有的CM3芯片都带有这个定时器,软件在不同 CM3器件间的移植工作得以化简。
2025-07-18 17:01:04
317
原创 13-二叉数实现
二叉树是一个非线性数据结构。每一个节点最多有两个孩子,一个是左孩子一个是右孩子。它是一个可视化的层次结构,最上面的节点叫做根节点,下面的节点叫做叶子节点。
2025-06-25 16:58:40
304
原创 11-栈的实现
栈是一个线性的结构体数据,栈是LIFO() 后进先出。或者说是FILO()先进后出.最后的元素插入,这个元素是最先弹出的。LIFO的规则1、栈可以把它看作是一个盘子。当我们增加盘子是,会放在它的顶部。当移动盘子时,会从顶部开始取走。2、还可以把它看作装羽毛球的盒子。
2025-06-12 20:27:20
394
原创 10-http获取心知天气
HTTP(The Hypertext Transfer Protocol)超文本传输协议。在应用层请求(request)和响应(response)是无状态的协议。他的语义是可以扩张的。客户端是一个程序,与服务器建立连接并发送一个或多个请求。服务端是一个程序,接受连接,处理请求。并发送响应。
2025-05-27 18:03:10
439
原创 09单总线通信-dht11
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。温度测量范围:0~50C湿度测量范围:20~90。
2025-05-16 17:12:24
379
1
原创 08TCP协议
Socket(套接字)使用C/C++实现TCP通信创建一个TCP服务端(server)和客户端(client)的连接.TCP有下面一系列的功能,如果应用需要高的可靠性,传输时间不那么重要。TCP也能使用其他的协议 HTTP, HTTPs, FTP, SMTP。TCP协议会按照指定的顺序重新排列数据包。TCP保证数据传输的完整性和按照相同的顺序接受数据。TCP在使用之前需要三次连接。TCP处理可靠性和网络拥塞控制。它会做一些错误检查和错误接受。通信过程如下。
2025-05-10 16:21:24
311
原创 07C语言快速排序
快速排序使用了的分治法。他的步骤是①找到一个基准元素。可以第一个,最后一个,中间的一个。②分割操作:通过遍历一次将小于基准的放左边,将大于基准的放右边③递归排序:对基准左边和右边的子数组进行递归④终止条件:当子数组的大小为1或者0图形逻辑。
2025-05-09 14:20:41
179
原创 06C语言冒泡排序
(Bubble Sort)是一种简单的排序算法,它通过重复遍历待排序的数组或列表,比较相邻的元素并交换它们的位置,从而将数据“冒泡”到数组的末尾。假设有20个数。第一次循环19次,在循环过程中比较第一个数,和第二个数。如果第一个数比第二个数大。那么他们那个交互。第一次循环结束,得到了一个最大的数并且排在了最后面。第二次循环18次(前19个数排序),过程上一次一样,得出到数第二大的数,并也放在了最后面。这样依次循环。20个数要循环19次,每一次得到最大的数。
2025-05-08 18:43:27
180
原创 05-IIC协议
第三步,SCL拉低,延时一段时间。发送一个字节,首先有一个开始信号,然后发送8个位(1个字节),然后等待响应信号(ACK)。查看时序图,第一步SCL和SDA都拉低,延时等待从机接受。第二步:要保持ACK,使主机接受到应当,SDA线应该保持稳定。第一步:主动拉低SCL,延时一段时间。第一步:发送完数据后,要释放SDA这跟线,此时SCL为低。第四步:读取完之后,参考时序图,拉低SCL使得第九个脉冲结束。结束信号当SCL是高的时候,SDA从低到高的转变。开始信号当SCL时高的时候,SDA从高到低。
2025-05-08 14:43:56
429
原创 04C语言十进制转换为任意进制
例子n的值100;转换为二进制。步骤:①n的值二进制取余数,然后存储在数组里面②n除以二进制③将存储的余数反着打印出来。
2025-05-07 11:29:35
145
原创 03lvgl9.0移植到linux系统上
LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用。Key features(主要特性)丰富且强大的模块化图形组件:按钮 (buttons)、图表 (charts)、列表 (lists)、滑动条 (sliders)、图片 (images) 等高级的图形引擎:动画、抗锯齿、透明度、平滑滚动、图层混合等效果支持多种输入设备:触摸屏、 键盘、编码器、按键等支持多显示设备。
2025-04-30 11:25:59
2196
1
原创 02-mqtt.fx连接阿里云
属性订阅主题 /sys/inbnvCeHyPm/你的设备名/thing/event/property/post_reply。属性发布主题 /sys/inbnvCeHyPm/你的设备名/thing/event/property/post。注意标识符,标识符代表了要传的数据的名字。进入创建的系统,选择Topic类列表,选择物模型。进入系统,选择功能定义,然后编辑草稿。mqtt.fx下载,选择低版本。发布和订阅要复制自己的。发布和订阅要复制自己的。
2025-04-10 16:14:18
563
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅