2025-04-10
1.9k 字
8 分钟
handle
带显示界面的无线手柄项目简介项目设计LCD驱动移植参考链接,注意SPI传输速率不能超过ST7735。
freeRTOS移植参考链接。
LVGL移植参考链接。刷新函数
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include "mytask.h"extern SemaphoreHandle_t xLCD_DMA_Semaphore;extern uint8_t dma_end;static voi
2025-03-14
2.8k 字
11 分钟
linux系统编程1-文件IO
文件读写相关函数主要头文件为 fcntl.h 和 unistd.h。
函数名
函数作用说明
文件读写相关函数
open()
打开/创建文件
read()
读取文件
write()
写入文件
close()
关闭文件
lseek()
修改文件指针位置
文件权限与属性操作
chmod()
更改文件权限(如 chmod 755 file)
chown()
更改文件所有者和组
stat()
获取文件的详细信息(大小、类型、权限等)
fstat()
获取已打开文件的属性(比 stat 快)
access()
检测文件是否存在、是否
2025-03-12
1.4k 字
5 分钟
Vim使用学习
Vim 默认快捷键大全Vim 是一个功能强大的文本编辑器,广泛应用于编程和系统管理。以下是 Vim 默认的快捷键和命令的详细列表,帮助您高效使用 Vim。
1. 模式概述Vim 操作基于不同的模式,每个模式有不同的快捷键:
普通模式:默认模式,进行文本导航和编辑。
插入模式:编辑模式,用于输入文本。
视觉模式:用于选择文本块。
命令模式:执行命令。
切换模式
操作
快捷键
说明
从普通模式切换到插入模式
i
在光标前插入文本
从普通模式切换到插入模式
I
在当前行的开始插入文本
从普通模式切换到插入模式
a
在光标后插入文本
从普通模式切换到插入模式
A
在当前行的末
2025-03-01
1.8k 字
7 分钟
2024全国电赛E题视觉部分
写在前面此文档用于记录、以及介绍自己当时写的代码以及思路,另外让自己在重温一遍代码,感受一下自己当时有多蠢。此文档并没有改进打算,思路仅供参考。
项目简介使用STM32F103C8T6+openmv+串口屏。其中
STM32F103C8T6。负责接收openmv的下棋指令,控制机械臂下棋,以及转发(至openmv)人下棋的位置,像串口屏发送棋盘状态。
openmv。识别棋盘和棋子的状态;选择最优下棋方案,并向stm32发送下棋指令;识别人故意挪动棋子,并发送复位指令。
串口屏。显示棋盘状态;提供下棋按钮,向stm32发送下棋位置;显示机械臂单次操作所耗时间。因为我这里只有串口屏和open
2025-02-14
2.3k 字
8 分钟
FreeRtos学习
arm寄存器相关https://blog.csdn.net/Z_H_Z_0/article/details/106574292
FreeRtos相关API参考资料FreeRTOS 快速入门
创建任务
静态创建任务。在使用该函数前,FreeRTOSConfig.h 中configSUPPORT_DYNAMIC_ALLOCATION的宏定义设置为 1(默认为1)。
12345678910111213141516/* 如果puxStackBuffer和 pxTaskBuffer 均不为 NULL,则创建任务, 并返回任务的句柄。 如果puxStackBuffer 或 pxTaskBuffer
2025-02-11
1 字
1 分钟
常见通信协议
UARTIICSPICANMQTT
2025-02-06
2.4k 字
9 分钟
C语言零散知识点
一些关键字
volatile关键字 使用volatile关键字声明变量,目的是为了告诉编译器不要对其进行‘优化’。那什么是‘优化’呢?,举个例子如下:
12345int a = 1,b,c; //为a b c申请内存并初始化b = a; //内存(&a) -> CPU //CPU -> 内存(&b)c = a; //内存(&a) -> CPU //CPU -> 内存(&c)
以上代码可以帮助我们更好理解寄存器(CPU)读取规则:在初始化
2024-12-08
3k 字
13 分钟
树莓派4B-GPIO驱动
使用寄存器对GPIO进行操作树莓派GPIO寄存器相关首先我们要了解对GPIO操作的相关寄存器,树莓派4B使用的芯片是bcm2711,通过树莓派官网下载芯片手册。通过查看芯片手册了解到有如下几个寄存器
GPFSELx:选择gpio的功能。例如FSEL9就是GPIO9,我们还可以看到通过设置某几位为000输入,001输出。
GPSETx :将gpio置1
GPCLRx :将GPIO清0
下面我们来使用这些寄存器,首先是GPFSELx:如果我们要将GPIO3设置成输出,根据手册上的描述只需要将寄存器GPSEL0的【11:9】位设置为 001 即可。通过查看开始寄存器偏移地址可知GPFSEL0的地
2024-11-28
41 字
1 分钟
linux驱动学习相关笔记
寄存器按位操作
GPECON &= ~(3 << 24); //011 将24和25位清零GPECON |= (1 << 24); //001 将24和25位分别赋值为1、0
1 2 下一页 »