logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

使用ESP32-WROOM-32完成websocket功能

本文介绍如何在ESP32-WROOM-32开发板上使用ESP-IDF v5.4.0实现WebSocket客户端功能。主要内容包括:开发环境准备(ESP-IDF v5.4.0、ESP32硬件、WebSocket测试服务)、项目目录结构说明,以及关键代码实现。代码部分展示了WebSocket客户端建立连接的流程,包括WiFi连接初始化、WebSocket帧构建和解析功能。文章提供了一个简单的WebSo

文章图片
#websocket#c++#嵌入式 +1
嵌入式应用软件开发中C语言方向面试题

做嵌入式开发这么多年了,简单记录下C语言方向常见面试题,这里是应用软件方向的。

文章图片
#单片机#c++#c语言 +3
nanopb(一)——概述和介绍

是一个极其适合嵌入式系统的轻量级 Protobuf 实现,它能够在资源受限的环境中高效地处理数据交换任务。通过使用它,开发者可以在嵌入式设备之间实现高效、可靠、可扩展的二进制数据交换,且不需要过多关注内存和计算开销。nanopb 提供了简单的 API 来序列化(编码)和反序列化(解码)消息。这会生成与 Protobuf 数据结构相对应的 C 结构体和函数,方便你在嵌入式环境中进行序列化和反序列化操

#单片机#嵌入式硬件#c语言 +2
嵌入式常用数据结构——ringbuffer环形缓冲区(线程安全版本带锁)

本模块实现了一个**线程安全**的**环形缓冲区**(RingBuffer),适用于音频数据、串口通信、生产者-消费者等场景。完整的.c和.h文件已经提供,核心特点包括:

文章图片
#数据结构#安全#c++
小米vela系统(基于开源nuttx内核)——如何创建一个线程并且设置线程参数

小米 Vela 操作系统是一个高效且适用于嵌入式系统的实时操作系统(RTOS)。它为开发者提供了多种线程管理和调度机制,使得我们能够在多任务环境中有效地管理系统资源。线程是 Vela 中并发执行的基本单位,它可以通过任务和调度机制来管理。在这篇文章中,我们将详细介绍如何在 Vela 操作系统 中创建并管理线程。我们将通过一个简单的示例,展示如何创建一个线程来执行下载任务,并在该线程中实现任务的优先

文章图片
#操作系统#linux#c语言
小米vela系统(基于开源nuttx内核)——如何使用信号量进行PV操作

在嵌入式系统中,任务间的同步与通信是非常重要的。NuttX作为一款轻量级实时操作系统,提供了多种同步机制,其中信号量(Semaphore)是一种常见且高效的工具,用于实现线程或任务之间的同步。本文将深入探讨如何在NuttX中使用信号量,并通过一个实例来展示其应用。在 Vela 操作系统(nuttx内核)中,使用标准的 POSIX接口,信号量的管理也是与linux系统类似的。信号量是一种用于线程间同

文章图片
#嵌入式硬件
小米vela系统(基于开源nuttx内核)——openvela开源项目

相对于freertos这种较为成熟的系统来说,vela系统还有很长的路要走,但是其在解决多平台设备互联上的优势还是不错的,如果一个厂商同时在多种类型的设备做开发,使用vela系统进行互联还是很方便的,希望openvela能够继续完善下去。

文章图片
#开源#openvela#linux
嵌入式常用数据结构——ringbuffer环形缓冲区(线程安全版本带锁)

本模块实现了一个**线程安全**的**环形缓冲区**(RingBuffer),适用于音频数据、串口通信、生产者-消费者等场景。完整的.c和.h文件已经提供,核心特点包括:

文章图片
#数据结构#安全#c++
小米vela系统(基于开源nuttx内核)——openvela开源项目

相对于freertos这种较为成熟的系统来说,vela系统还有很长的路要走,但是其在解决多平台设备互联上的优势还是不错的,如果一个厂商同时在多种类型的设备做开发,使用vela系统进行互联还是很方便的,希望openvela能够继续完善下去。

文章图片
#开源#linux
超简单的I2C流程讲解附录模拟I2C程序

I2C应该是各位i接触最多的单片机协议了,常见的使用场景有AT24Cxx系列的记忆芯片,时钟芯片等,主打的就是操作简单模拟I2C是最常用的I2C操作方式,下面简单描述下I2C的流程和代码实现。I2C有两条线在控制器和从机之间通信:SDA和SCL。总线空闲时候SDA和SCL都是高电平,标准模式下速度为**100Kb/s**,快速模式下为400Kb/s。

文章图片
#c++#c语言#mcu +3
    共 11 条
  • 1
  • 2
  • 请选择