LVGL 对接 EC11
EC11旋转编码器驱动 本驱动核心: 滚动检测:利用检测滚动一次整个周期的 AB 电平变化来判断滚动一次 读取滚动方向函数:用于对接 LVGL。 #include "ec11.h" #include "driver/gpio.h" int8_t enc = 0; int FLAG =
LVGL 对接键盘接口
初始化键盘配置 void lv_port_indev_init(void) { static lv_indev_drv_t indev_drv; keypad_init(); lv_indev_drv_init(&indev_drv); indev_drv.type = LV_IN
LVGL 创建对象
主函数 界面往 UI()函数中写 int main(){ lv_init(); lv_port_disp_init(); lv_port_indev_init(); UI(); while(1){ lv_task_handler(); GC9A01_Upd
LVGL 移植
LVGL源码 https://github.com/lvgl/lvgl/tree/release/v8.3 主要文件 // 其余文件根据自己需要 - examples - env_support - src lv_conf.h lvgl.h 接口对接 examples中port文件夹,其中有显示接
算丰学院
https://www.sophgo.com/case-center/index.html?type=&orient=&source=&page=30&per-page=9
Docker 中开启 SSH
安装SSH apt-get install -y openssh-server 配置 SSH nano /etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes 重启 SSH service ssh restart 启动
使用 FFT
参考https://blog.csdn.net/m0_51220742/article/details/124869371 #include "fft_test.h" #include "arm_math.h" #include
MJPG_Streamer 网络监控
安装依赖 sudo apt-get install subversion libjpeg8-dev imagemagick libv4l-dev cmake git 安装mjpg-streamer git clone https://github.com/jacksonliam/mjpg-strea
ESP_IDF BLE学习笔记
Generic Access / Generic Attribute Generic Access 是一组用于定义设备的通用属性的服务和特性。它包括设备名称、外观、外设优选连接参数等。通过 Generic Access,设备可以向其他设备广播其基本信息,并且其他设备可以通过读取这些信息来识别和连接到
Arm64 中运行 X86_64 Docker镜像
今天不知咋的想起来在 aarch64 跑个 x86 的 Ubuntu Docker 镜像 -- 应急,毕竟有些交叉编译工具链还是需要 X86 平台,为了这个买个新主机那太浪费了。手头的斐讯 N1,4 核A53 还能再压榨压榨。在群里探讨成果,却被说:大年三十还在搞嵌入式啊。哎,我真是又笑又哭。 指令
Linux FFMPEG 哔哩哔哩推流直播
安装 ffmpeg apt install ffmpeg 目录依次推流脚本 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH folders=( # 推流
软件I2C
硬件IIC读取写入函数 HAL_I2C_Mem_Read(&hi2cx, DEV_ADD, REG_ADD, ADD_SIZE, &DATA, DATA_SIZE, HAL_MAX_DELAY); HAL_I2C_Mem_Write(&hi2c, DEV_ADD, REG_ADD, ADD_SIZE
ESP-ADF 播放MP3音乐
例程地址 这个程序是官方板级包支持,因此要适配自己的开发板,需要改board.c的板级配置。 主程序中大量使用handle,因此对handle的使用要做到熟练。 这个例子的作用是把本地MP3播放出来,这里有几个关键词:音频管道,元素 while循环中是一个状态机
Docker 安装 Ubuntu 环境
安装 Docker For Desktop 获取镜像 docker --version docker-compose --version docker pull ubuntu:20.04 # 获取 ubuntu 镜像 docker image ls # 查看当前安装的Docker镜像 创建容器
步进电机篇
中断控制方法和PID #include <MPU6050_tockn.h> #include <Wire.h> MPU6050 mpu6050(Wire); float value, gy; #
蓝牙广播(Broadcast)
使用流程 定义 PHY地址 设定广播参数 定义广播内容 开启bt_controller/bluedroid 配置广播参数并执行 注意事项 待完善 代码示例 #include <stdlib.h> #include "freertos/FreeRTOS.h" #
事件组(Event Group)
使用流程 创建事件组句柄 定义事件组标志位 Task1:事件组标志位置 1 Task2:创建等待事件组事件;检测事件组标志位是否置 1 注意事项 待补充,纯属一个 Flag。 代码示例 #include <FreeRTOS.h> #include <task.h> #
软件定时器(Software Timer)
使用流程 创建定时器句柄 启动定时器 注意事项 启动定时器后,延时一个周期再执行定时器回调,不会立刻执行。因此,当定时器句柄中的 pdTure 改成 pdFalse,这就是个延时任务。 延时任务执行一次之后,如果再次执行xTimerStart,会再次执行一次延时任务。 代码示例 #include "
类和对象
基本形式 #include <cstdio> class Rectangle { private: int leng; int wide; protected: public:
消息队列(Queue)
这就是个往别的 Task 发送数据的,可以是任何数据。 使用流程 创建队列存数据 Task1:发数据到队列 Task2:等队列有数据,阻塞状态 特殊情况 条件:队列大小为 5。 Task1:每隔 1 秒往队列发送数据。 Task2:每隔 10 秒接收一次数据。 到了第 6 秒,队列已满。 会发生:
二进制信号量(Semaphore)
二进制信号量和互斥锁所用的底层函数相同,xSemaphoreTake()和 xSemaphoreGive()。但不相似。 互斥锁中这两个函数分别扮演着开锁和关锁的角色。 而在二进制信号量中,却类似于 flag 的用法。具体如下: 使用流程 目的:Task2 等待 Task1 的信号并且执行任务 定义
CPP 面向对象大纲
类和对象 重载运算符和重载函数 继承 多态 抽象 封装
互斥锁(Mutex)
使用流程 此时有一个变量,存在多个任务,各自会针对该变量进行长达 10ms / 15ms 的处理。 给出一个互斥锁。 Task1:开锁->操作10ms->关锁 Task2:开锁->操作15ms->关锁 在 Task1/2 关锁前 Task2/1 无法对变量进行操作,此时 Task2/1 会进行阻塞
FreeRTOS 大纲
互斥锁(Mutex) 信号量(Semaphore) 消息队列(Queue) 软件定时器(Software Timer) 任务通知(Task Notifi
MOSFET
NMOS 和 PMOS的区分 箭头朝向Gate栅极则是NMOS 背向Gate栅极则是PMOS 里面的二极管和箭头方向一致 NMOS是Gate大于Source阈值电压后导通,也就是大于Source 4V PMOS是Gate小于Source阈值电压后导通,也就是小于Source 4V MOSFET 对应
开发板 PinOUT
开发板PinOUT,方便自己查看 STM32F103C8T6 Air001 ESP32C3 ![ESP32C3][
WCH 工具链
MRS MAC Toolchain&OpenOCD使用说明 软件依赖于libusb库,请自行安装,可以使用brew install libusb,或者下载libusb源码,自行编译安装设置环境变量。 FLASH CMD [RISC-V] sudo ./openocd -f wch-riscv.cfg
BLE mesh
GAP && GATT GAP 设备发现、连接和身份验证等。 GATT 设备间数据传输和解释。 历史 Bluetooth SIG 组织于 2017 年发布蓝牙 Mesh 标准。 BLE Mesh 建立于物理层与链路层之上 [2402~2480Mhz;工作模式:Advertising && Conne
玩客云配置
哔哩哔哩张大七 up 主写的 连接SSH后进行如下操作: 下面的命令逐行复制,然后鼠标右键粘贴就行。 1.更新: 更新软件列表 apt-get update 更新软件 apt-get upgrade 2.安装宝塔5.9版本: wget -O install.sh http://download.bt
ESPNOW
帧格式 默认比特率为1Mbps ----------------------------------------------------------------------- ··MAC 报头··|··分类代码··|··组织标识符··|··随机值··|··供应商特定内容··|··FCS·· ----
低功耗蓝牙BLE
官网 主要参考资料 蓝牙广播 包含 3 个广播信道[37 38 39]和 37 个数据信道 频段范围从2402Mhz~2480MHz 一个广播数据包最长 37 字节 [mac地址 x 6字节 + 用户使用 x 31字节] 用户使用的 31字节又包括若干个广播数据结构体[AD Structure] 每
Think different
We gonna put a dent in the universe 我们要改变世界 Here’s to the Crazy Ones. 这是向疯子致敬。 The misfits. 他们特立独行 The rebels. 桀骜不驯 The troublemakers. 从来不太平 The round
To John Sculley
当你长大了 总有人对你说 这个世界有它的规则 你的人生也是在这个世界上过生活 别老是想着去打破规则 这样的人生太狭隘了 人生可以更加宽广