avatar

松果工作室

欢迎光临

  • 首页
  • ESP
  • LVGL
  • CubeMX
  • freeRTOS
  • 快速笔记
  • 个人收藏
  • 我的服务
  • 考察日志
Home
松果工作室

(ESP-IDF)BLE GATTS

移动设备可发现ESP的BLE并且连接通讯 首先在sdkconfig中打开BT 然后在ESPIDF的GATTS例程修改,实现了一个服务,两个特征值,一个值用于发送,一个用于接收 理解代码之前先理解蓝牙,具体参考本博客低功耗蓝牙BLE文章 #include "dh_p1_blu_task.h" #in

2025-06-14

(LVGL)案例预览 动画

本质是一个值的变化,以点击事件触发一个动画为例 // 创建动画 lv_anim_t a; lv_obj_t *lv_example_time_page(lv_obj_t *scr){ // 添加点击事件 lv_obj_add_event_cb(status_bar, status_b

2025-06-14

(ESP-IDF)LVGL 定时回调

每1秒执行一次回调内容 static void update_time(lv_timer_t *timer){ //update } v_obj_t *lv_example_time_page(lv_obj_t

2025-06-14

(Flutter)导航栏

CODE import 'package:flutter/material.dart'; import 'package:google_nav_bar/google_nav_bar.dart'; void main() { return runApp(MyApp()); } class My

2025-04-15

(Flutter)登录页面

CODE import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter_login/flutter_login.dart'; import 'package:shared_preferen

2025-04-14

(Flutter)进度列表

CODE import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:timeline_tile/timeline_tile.dart'; void main() { return runA

2025-04-13

(Flutter)消息滑块

CODE import 'package:flutter/material.dart'; import 'package:flutter_slidable/flutter_slidable.dart'; void main() { return runApp(MyApp()); } clas

2025-04-12

(Flutter)滑条控件

CODE import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : su

2025-04-12

(Flutter)图标动画

CODE import 'package:flutter/material.dart'; void main() { return runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key

2025-04-12

(Flutter)输入文本框

CODE import 'package:flutter/material.dart'; void main() { return runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key

2025-04-12

(Flutter)Tab栏

CODE import 'package:flutter/material.dart'; void main() { return runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key

2025-04-10

(Flutter)侧浮动顶栏

CODE import 'package:flutter/material.dart'; void main() { return runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key

2025-04-10

(Flutter) 侧边导航栏的实现

跟着视频敲了几天到今天开始有了一些手感,能自己独立完成部分代码了 CODE import 'package:flutter/material.dart'; void main() { return runApp(MyApp()); } class MyApp extends Stateles

2025-04-09

(Flutter)一种简单布局

CODE import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : su

2025-04-09

(Flutter) 带阴影的图标

Code 基本的代码框架 这个代码框架是Flutter应用的标准结构,它遵循了一些最佳实践和设计模式。以下是为什么要这么写框架以及这样做的好处: 分离关注点: MyApp类专注于应用的总体配置,如主题、路由等。 MyHomePage类专注于具体页面的实现。 _MyHomePageState类管理页面

2025-04-06

(Flutter)语法

基础类型与变量声明 void main() { var name = 'Alice'; // String var age = 25; // int var height = 1.68; // double var isStud

2025-04-05

(ESP-IDF)简单的webserver

#include <esp_wifi.h> #include <nvs.h> #include <sys/param.h> #include "

2025-03-18

(ESP-IDF)NVS

基本概念 命名空间(Namespace):NVS 数据按命名空间分组,避免键名冲突。 键值对(Key-Value):支持存储整数、字符串、二进制数据等类型。 存储限制:每个键值对最大 1984KB,单个命名空间总大小取决于分区表配置(默认约 24KB)。 示例代码 #include <stdio.h

2025-03-18

(ESP-IDF)STA & AP

STA 对官方示例进行了代码精简,方便自己随时取用 # Name, Type, SubType, Offset, Size, Flags # Note: if you have increased the bootloader size, make sure to update the off

2025-03-16

(LIB)多级菜单

使用方法 以下四个函数分别放进各自按键的回调中,点击一次调用相关函数 void menu_up(); void menu_down(); void menu_confirm();

2025-02-13
  • 1
  • 2
  • 3
  • 4
  • 5
  • …
  • 7

Recently Updated

  • nimble
  • ESP32c3 内存占用测试报告
  • ESP Event
  • HTTP 快速刷新
  • [adb] 读取屏幕内容与点击,用于测试

Trending Tags

LVGL WCH Linux Elec ThatProject freeRTOS STM ESP Flutter Others

©2026 松果工作室. Some rights reserved.

Using the Halo theme Chirpy