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
2024-11-27
1.1k 字
4 分钟
基于树莓派4B本地驱动编译的环境搭建
前言说实话,这个环境搭建真的要把我折磨死了(虽然是因为我对驱动编译的流程太不熟悉了),最终在11月27日的上午实现第一个helloworld驱动,泪目了。其实本来打算做交叉编译的,不断在网上找教程搞了一周也没弄出来,这才意识到自己好像有点太急了,于是降低目标,进行树莓派本地驱动编译环境搭建。
所需准备对于驱动编译,你首先得有
内核源码,而且必须与你当前内核版本相同编译工具,本地编译还挺容易获取的,但是如果是交叉编译的话,得自己去找。
内核源码获取正常来说,从官网获与你当前内核版本相同的源码即可,但是我并没有成功,于是我将从官网下载的内核源码编译并生成了一个新内核,然后替换当前内核,这样我
2024-11-23
303 字
1 分钟
使用FileZila与Linux传输文件
使用FTP快速与Linux传输文件前言一般使用Linux都是直接在电脑上开一个虚拟机,在很多时候都需要把本地的文件传到虚拟机里面去,我用的虚拟机软件是Vmware,每次我想传文件都叫我先安装什么Vmware-tool,一直没安装上。后来在网上看到使用FTP传输文件,这次趁着刚建了一个白板Linux,写一篇给自己用的教程。没办法自己太笨了,过段时间又忘了。
前期准备
电脑安装软件 FileZila,找个 官网 下载即可。
虚拟机上要求要联网,而且要安装FTP服务。在Linux终端窗口输入以下命令安装FTP服务。
sudo apt-get install vsftpd
更改相关配置文
2024-11-12
561 字
2 分钟
creat_blog
如何利用hexo在GitHub上搭建自己的个人博客前言我想应该没有人能拒绝能拥有一个自己的网站的机会吧。欸,那我这篇文章就刚好合适是一个低配版解决法案。其实我很早之前就有搭一个博客的想法了,奈何太难了v……v。刚好前几天发现一个用hexo和GitHub搭建静态博客(应该是静态吧),我就跟着教程尝试了一下,没想到真的弄好了基本弄好了。
环境安装首先跟着教程把基本环境安装好,注意安装cnpm的淘宝镜像已经过期了,我用的这个:
npm install -g cnpm –registry=https://registry.npmmirror.com
初始化有了初始环境后,新一个文件夹B
2024-11-12
1.4k 字
4 分钟
My-First-Markdown
初次写Markdown文件缘由 都不知道在什么时候,从网上找到一个老哥的学习笔记(我勒个老天,这哥们学了这么多东西,同时还写了这么多笔记. 虽然好多笔记我还看不懂,但是我还是挺佩服他的)遂以此,写下我的垃圾笔记,记录我的学习经历,也不清楚我能坚持多久。
Markdown常见语法换行 在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行。引用
要创建块引用,请在段落前添加一个 > 符号。
块引用可以包含多个段落。为段落之间的空白行添加一个 > 符号。
块引用可以嵌套。在要嵌套的段落前添加一个 >> 符号。
块引用可以包含其他 Markdown