自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (8)
  • 问答 (2)
  • 收藏
  • 关注

原创 STM32使用寄存器开发底层驱动学习(USART+DMA)

代码简洁明了,当然需要我们注释好,不然比标准库更难看懂。方便快捷,只需要一本《手册》就可以查看所有的寄存器,不需要像标准库那样记、找每个函数、每个参数的作用。

2022-10-22 11:24:48 4934 3

原创 vscode配置c++环境(4)— 第三方库使用

vscode配置c++环境 — 第三方库使用前言第三方库使用C/C++ 配置添加第三方库前言由于文章篇幅过长,《vscode配置c++环境》分成了四部分:1、安装MINGW2、运行C程序3、调试C程序4、第三方库使用第三方库使用C/C++ 配置1、通过从命令面板 ( Ctrl+Shift+P )运行命令:C/C++: Edit Configurations (UI)查看 C/C++ 配置 UI 。2、将配置名称更改为GCC。3、将Compiler 路径下拉菜单设置为 g++ 编译器

2022-04-20 15:34:57 13237 4

原创 vscode配置c++环境(3)— 调试C程序

vscode配置c++环境 — 调试C程序前言调试C程序创建`launch.json`文件修改`launch.json`文件调试前言由于文章篇幅过长,《vscode配置c++环境》分成了三部分:1、安装MINGW2、运行C程序3、调试C程序调试C程序创建launch.json文件1、从主菜单中,选择Run(运行) > Add Configuration…(添加配置)然后选择C++ (GDB/LLDB)。2、左侧选择运行和调试 > 显示所有自动调试配置 > 添加配置 &

2022-04-20 14:46:08 6861 1

原创 vscode配置c++环境(2)— 运行C程序

vscode配置c++环境 — 运行C程序前言运行C程序创建文件运行构建1、创建`tasks.json`文件2、运行构建任务前言由于文章篇幅过长,《vscode配置c++环境》分成了三部分:1、安装MINGW2、运行C程序3、调试C程序运行C程序创建文件在code打开自定义文件夹,在文件资源管理器标题栏中,选择新建文件按钮并将文件命名为helloworld.cpp。我的文件夹路径是:Z:\code\C++添加源代码:#include <iostream>#includ

2022-04-20 14:45:36 2686 2

原创 vscode配置c++环境(1)— 安装MINGW

目录安装MINGW下载文件添加环境变量安装MINGW下载文件MINGW官网下载地址,进入网址找到需要的版本,选择对应seh文件下载。下载好解压到自定义的文件里面。添加环境变量1、进入解压后文件的bin目录里面。复制bin目录的路径2、添加环境变量进入环境变量:右键开始图标 -> 系统 -> 高级系统设置 -> 环境变量 -> 系统变量 -> Path3、验证是否配置成功进入cmd终端命令窗口Win+R运行:gcc --versiongdb --v

2022-04-20 14:35:29 2283

原创 SSD1306规格OLED驱动库(STM32版),包含16x16汉字、字母写入函数

这里写目录标题前言OLED一、像素二、页结构纵向结构横向结构注意事项字库oled_font.h一、字库介绍二、制作字库PCtoLCD2002前言在很多项目中OLED屏幕的使用都是很常见的,可以作为调试信息的输出以及用于用户交互。一般的项目我们只需要能实现一些简单的功能就行,比如写入汉字以及字母就行,所以我将这两个功能打包成函数,方便调用。项目工程我会放到文章最后,需要的可以下载使用。OLED一、像素1、我使用的这款OLED是128x64大小的,也就是这个屏幕一共有128x64 = 8192的发

2022-04-15 15:25:19 7667 9

原创 利用socket和opencv搭建局域网图传

服务端:import numpy as npimport cv2import socketh = socket.gethostbyname(socket.gethostname())p = 8000class VideoStreamingTest(object): def __init__(self, host, port): self.server_socket = socket.socket() self.server_socket.bind

2022-04-07 22:33:37 5154 4

原创 python无法import picamera。Traceback (most recent call last): File “<stdin>“, line 1, in <module> Mod

问题在树莓派想通过python-picamera库调用摄像头。但是引入picamera库提示错误。Traceback (most recent call last):File “”, line 1, in ModuleNotFoundError: No module named ‘picamera’本来是以为没有安装picamera库的原因,但是运行安装命令:sudo apt-get install python-picamerapip3 install picamera都是提示已安装

2022-04-05 17:01:40 5147 2

原创 最小镜像文件制作【树莓派镜像】,简单有效,已经制作多次。使用Linux系统,只有Win系统的不适合。及再次烧录后启动可能出现的问题解决办法。

这里写目录标题一、前言二、平台选择1、Win系统:优缺点2、Linux系统:优缺点三、制作(只要两步[加上安装gparted,算三步])1、安装gparted2、使用gparted(1)运行gparted:(2)找出U盘设备(3)卸载分区(4)调整分区大小(5)确定分区调整3、fdisk -l 和 dd 命令的使用(1)fdisk -l命令(2)dd命令(3)dd命令进程查看(查看进程,无聊的可以看看)四、制作的映像文件后可能出现的问题(树莓派)1、无法解析域名(即无法联网,更新软件失败)2、打开文件闪退

2022-04-04 18:24:20 3012 8

原创 树莓派打开文件闪退,终端可以进入

1、前言我使用树莓派系统去进行映像文件制作,想给自己的系统进行备份,制作完后发现无法打开文件,打开马上闪退。2、解决办法sudo apt-get install --reinstall pcmanfm重装了文件管理器就可以打开了。3、制作映像后可能无法连网在我找到重装文件管理器这个办法的时候,我发现我无法连网,更新软件就是显示: 无法解析域名。有这个问题的可以看这篇文章:树莓派无法解析域名(即无法连网,更新软件失败)...

2022-04-04 18:18:35 1249

原创 树莓派无法解析域名(即无法连网,更新软件失败)

1、前言可能出现这种问题的原因有两种:(1)因为我换了网络,可能导致原来的网络地址不能使用。(2)出现这个问题之前我刚好使用这个树莓派系统去制作映像文件,给系统进行一次备份,然后再次打开文件发现不能更新软件了。2、解决办法修改 /etc/resolv.conf 文件改成: nameserver 8.8.8.8sudo nano /etc/resolv.conf将 nameserver 后面原来的地址改成 8.8.8.8...

2022-04-04 18:10:37 3707 1

原创 目标检测:树莓派运行YOLOv5,成功运行,附完整镜像源

树莓派:目标检测一、前言YOLOv5镜像:一、前言之前一直打算在树莓派上跑目标检测,但自己弄环境总是出现问题,一直没弄成功。前几天看到一位大佬做成了一个用于深度学习的镜像,里面已经装好了关于深度学习的环境配置了。我安装好后很快就搭建好YOLOv5,并且运行成功。只是帧率很慢,三秒多一帧,完成运用不到工程项目里面,不过有其他的方法可以让帧率快一点,现在先分享YOLOv5的搭建。YOLOv5镜像:百度网盘下载链接...

2022-04-04 15:00:45 26406 55

原创 Linux系统nano的简单使用

nanonano编辑器一般Linux都会自带,不像Vim需要下载安装,nano的使用也比Vim使用简单,编辑器的下面一般都有常用操作的提示。不过要注意的是:nano的操作提示^O(写入,即保存写入内容),前面的 ^ 操作是指 Ctrl 按键,也就是同时按下 Ctrl + O 即为 写入内容 。进入编辑器sudo nano test.txt 即使用nano编辑器进入test.txt文件。写入内容编辑好内容文本后:Ctrl + O Enter (回车确定写入)即可保存写入的文本内

2022-04-04 14:40:59 5930

原创 Ubuntu18.04安装教程每一步都有、多图。(Win、Ubuntu双系统)

安装准备1、一张SD卡或者U盘,容量8G或者以上。2、Ubuntu系统镜像源下载:清华大学开源软件镜像站搜索Ubuntu,然后点击ubuntu-releases进入。选择需要安装的版本,我选择的是18.04.6。选择.iso镜像文件下载。3、UltraISO...

2022-04-03 22:03:26 124614 12

原创 Ubuntu安装python3和pip3

1、下载安装包:Python官网下载选择对应的版本下载.tgz文件。2、解压文件,进入文件夹。在终端运行:./configure编译:make测试:make test安装:sudo make install 如果安装出现:make: ***[install] Error 1不用管。运行:python3.7.33.7.3是我安装的版本,将版本号换成自己的,能进入python环境就说明安装成功了。3、设置为默认的版本python指向python3.7.3。删除原有的链接:sudo rm /u

2022-04-03 13:31:33 4342 2

原创 使用MQTTClient.h库进行mqtt通讯【C语言】

先放源代码,还没开始看,等看完再来写注释及讲解。源代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include "MQTTClient.h"#define MQTT_Uri "localhost" // MQTT服务器的地址和端口号#define ClientId "ubuntu16"

2022-04-01 21:42:16 9886 5

原创 STM32 GPIO的配置寄存器(CRL、CRH)快速学习

1、问题在使用STM32的时候配置GPIO是最常见的操作,可以使用比较简单明白的库函数配置,但很繁杂。使用寄存器的方式可以快速配置,对于同一个IO口的输入输出都需要使用到的时候,比如IIC通讯的SDA接口就是要输出和检测输入。我们在很多工程都能看到比如下面的一些代码://IO方向设置#define SDA_IN() {GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=8;}#define SDA_OUT() {GPIOA->CRL&=0XFF

2022-03-31 18:35:14 32787 25

原创 搭建MQTT服务器

准备工作1.查看(Ubuntu)系统版本:使用命令:lsb_release -a 。2、查看服务器的内核(CPU架构):我使用的服务器系统是Ubuntu16,查看系统内核的命令:arch可以看到我使用的系统的内核是x86_64版本选择EMQX开源版下载(1)先选择版本号:如果你的也是x86_64内核的,可以直接选择v4.2.14。(2)选择服务器的系统:选择完后点击立即下载,进入下载页面。(3)查看有无对应自己服务器系统信息的:可以看到这一个版本只有两种CPU架构:aar

2022-03-30 12:37:25 17991 5

原创 树莓派获取DS18B20温度数值

代码#include <stdio.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <dirent.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <wiri

2022-03-27 14:13:50 1330

原创 Vim的简单使用

Vim的安装LINUX系统的安装sudo apt-get install vim-gtk简单使用1、创建test.c文件touch test.c2、打开test.c文件(没有该文件的时候会创建文件,保存才会生效)vim test.c3、编写内容进入编辑器后,按**“i”**进入编辑模式。4、退出编辑器先按**“ESC”,接着按出“:”。(1)输入字母“q”,不保存退出。(2)输入字母“wq”**,保存退出。...

2022-03-27 12:08:22 1436

原创 树莓派的GPIO简单控制(安装及点亮LED灯)

WiringPiWiringPi是一个基于PIN的 GPIO 访问库,用 C 语言编写,适用于所有Raspberry Pi 中使用的 BCM2835、BCM2836 和 BCM2837 SoC 设备。WiringPi库在 Raspbian-Lite 系统上的更新或安装:sudo apt-get install wiringpi检查是否安装成功:gpio -v如果有版本的信息就证明安装成功啦!树莓派的引脚图对照表:我们现在使用的是wiringpi编码。点灯在/home/pi/GPIO

2022-03-26 16:04:03 1514

原创 结构体指针作为函数传入参数的注意事项

问题来源在研究构造链表节点插入函数,使用结构体指针作为函数传入参数的时候发现的问题。在链表指针还没有开辟内存空间的时候就作为函数的传入函数的时候,不使用函数回传的结构体给链表指针重新赋值,链表的节点插入无效。而给链表指针开辟内存空间之后,作为函数的传入参数,不需要函数的回传的结构体给链表指针重新赋值,链表的节点插入也能正常插入。这就引起了我的好奇,为什么在给函数传入参数之前一定需要给参数指针开辟内存空间才行呢?先看节点插入函数 //插入节点,参数:插入那个链表,插入节点的数据是多少struct

2022-03-16 23:57:09 3317 11

原创 LeetCode算法学习——链表

链表的顺序插入链表的数据结构最基本的单向链表:就是一个存放了数据和下一个节点地址的结构体struct Node{ int data; //存放数据 struct Node* next; //next是用于指向下一个节点的地址};链表的创建及赋值struct Node *list = NULL; //创建一个链表变量list = (struct Node*)malloc(sizeof(struct Node)); //分配地址list-&

2022-03-12 18:24:07 1018

原创 关于STM32与OpenMv通讯踩过的那些坑(2)

不好意思!因为这几天要准备项目答辩,比较忙,所以没能及时更新。OenMv方面的问题可以查看上一篇文章哦!stm32串口接收数据其实大部分朋友都经常使用,应该都没什么问题的,可能我比较笨、总是遇到一些小问题,在这里我和大家分享一下。后面有串口接收数据详细解析。我遇到的主要问题是在串口中断服务函数那里出的错。我写代码程序一般都比较喜欢用LED作为调试使用。因为这样可以很明确知道程序运行到哪一行哪一步。在许多的程序中,这中方法都百试百灵,但这次却成为一个致命的错误,害我找了很久很久,总的来说还是不清楚串口

2021-03-20 11:11:46 4796 8

原创 关于STM32与OpenMv通讯踩过的那些坑(1)

关于STM32与OpenMv通讯的一些坑(1)话不多说,进入主题。在stm与openmv进行串口通讯的过程中遇到的问题是,openmv发送信息给stm,而stm只能接收一个字节、也就是只能进入中断一次。而stm、openmv和电脑进行单独通讯的时候都能正常通讯。#OpenMv的代码:我使用的初始代码:while(True): uart.write("green") time.sleep_ms(1000) uart.write("blue") time.sleep_

2021-03-09 13:47:33 5251 11

STM32F10X寄存器学习资料

包括:工程模板 Cortex M3权威指南(中文) STM32F10x Cortex -M3编程手册 STM32F10x Cortex -M3编程手册(译文) STM32中文参考手册_V10

2022-10-15

stm32f103工程模板

stm32f103工程模板

2022-05-16

红外遥控门锁项目的源码。

有详细解释。

2022-05-13

红外遥控门锁硬件设计文档

红外遥控门锁项目PCB板Altium Designer设计文档。 设计者:【硬件菜菜】https://blog.csdn.net/weixin_50773061

2022-05-02

红外遥控门锁原理图.pdf

红外遥控门锁原理图.pdf

2022-05-02

python:使用socket库cv2库搭建局域网图传。

python:使用socket库cv2库搭建局域网图传。在同一台电脑下可以直接运行,多台电脑需要在局域网内,还要更改主机地址。

2022-04-16

0.96OLED驱动库

0.96OLED驱动库(STM32版),芯片是SSD1306,包含16x16汉字、英文写入函数(已打包好函数,使用库直接使用就行),代码有详细注释,

2022-04-15

pytorch安装包分享

用于pytorch的安装。

2022-04-04

STM32F103蓝牙遥控小车

STM32F103蓝牙遥控小车,使用芯片内部Flash存放指令,可以复现遥控动作。代码有详细的注释。手机端蓝牙接收器使用《蓝牙调试器》进行开发。

2022-03-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除