构建STM32最小系统板注意事项
构建STM32最小系统板注意事项1.VBAT引脚
在主流的设计中,VBAT与0欧的电阻串联,接至3.3V。
2. OSC32_IN与OSC32_OUT
32.768k的rtc时钟用于精确定时,待机唤醒时钟。根据您的需要判断是否添加。如果您不需要待机状态的定时功能的话,可以不用外接晶振。
3.XTAL_IN与XTAL_OUT。
外部时钟晶振不是必须要接8M,官方数据写的是4-16MHz,然后经过pll倍频后给其它外设提供时钟信号。
比如说系统最大主频就是由它倍频得到的。
4.BOOT0与BOOT1配置启动方式
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
实际设计中,BOOT0设计为可以调节的方式。
BOOT1设计为0。
(我不理解的是,为什么要经过10k电阻接地呢?欢迎交流,有文章说是为了改善emc)
...
markdown插入网易云播放模块
腾讯云服务器防火墙放行端口后仍无法访问
本文写于2022/1/12
此后腾讯云控制台可能因更新而与图上不一致
原因服务器安装的CentOS7,firewalld未关闭,腾讯云防火墙(iptables)放行而firewalld未放行
解决方法
开启端口(以7000端口为例)
12345firewall-cmd --zone=public --add-port=80/tcp --permanent#命令含义:#--zone #作用域#--add-port=80/tcp #添加端口,格式为:端口/通讯协议#--permanent #永久生效,没有此参数重启后失效
重启防火墙
1firewall-cmd --reload
查看端口是否已放行
1firewall-cmd --list-ports
可见已放行
firewall常用命令123456789101112131415firewall-cmd --list-all ##centos7查看防火墙所有信息firewall-cmd --zone=public ...
配置Typora+PicGo+gitee过程中个别问题的解决
配置Typora+PicGo+gitee过程中个别问题的解决
最近学习使用Typora,在安装配置中遇到了一些问题,分享一下个人的解决过程。
问题一:验证图片上传失败
问题:
在Typora设置好PicGo上传服务后,无法验证图片上传选项。(PicGo没有问题)
出现验证失败。
分析:
可能是PicGo的服务器默认端口与Typora不一致(注:程序运行结果是:Failed to fetch)或图床上已经有验证过的默认图片(注:程序运行结果是:**{“success”,false}**)。
解决:
查看”设置PicGo-Server”窗口的监听端口是否一致,如果不一致则修改。
检查图床上是否已经有下面两个文件,如有删除后再验证就行了。
成功验证:
问题二:无法粘贴图片到Typora文档
问题:
当图床正确配置后,在粘贴图片到Typora文档中时出现“Error”弹窗错误:
分析:
这是因为当前用户对“C:\Program Files\Typora”文件夹没有“创建文件夹”操作权限造成。
解决:
给当前用户配置对 ...
玩客云(armv7hf)源码编译安装OpenCV
玩客云(armv7hf)源码编译安装OpenCV
最近手痒,从咸鱼买了个玩客云,这里记录一下折腾记录,同时电赛没有树莓派没有搞定的数字识别这里也一并研究一下
感谢来自此博主的帮助
一、下载源码这里选择安装OpenCV基础包和Contrib两部分:OpenCV和OpenCV Contrib,分别点击去Github下载即可。 在各自的项目主页里点击”Releases”,如下。
选择想要的版本,下载Source Code即可。需要注意的是OpenCV和Contrib的代码版本要一致
二、配置代码目录下载代码后,分别解压,将解压后的Contrib文件夹整体放入OpenCV的文件夹中,如下如
然后可以在OpenCV中新建一个文件夹,用来存放生成的文件。我这里建的是build文件夹
三、配置CMake这一步我用的是CMake的GUI进行的。熟练的话也可以直接在终端中输入参数。在终端中输入
1cmake-gui
即可打开CMake的GUI界面
在Where is the source code里选择OpenCV目录,在Where to build the binaries选择刚刚我们建立 ...
树莓派4B开机自启动运行程序(包含使用CV2启动外接镜头)
树莓派4B开机自启动运行程序(包含使用CV2启动外接镜头)
转自:https://blog.csdn.net/cxxxxxxxxxxxxx/article/details/109369981
对于文献【2】中的方法一:向rc.local文件添加启动代码自启动无效
对于文献【2】中的方法二:将程序作为服务启动自启动无效
对于文献【2】中的方法三:通过桌面启动根据提供的代码启动.sh文件,.sh文件运行有效,但重启后自启动无效。参考【1】中的.desktop文件参数设置,并直接将 “Exce = /home/pi/…/XXX.sh”更换为想要运行的.py脚本,不再通过启动shell脚本启动python脚本。(路径保证为绝对路径)程序自启动成功,相机启动正常。
此外,有些会遇见shell脚本多次启动的问题,上述方法只启动一次,仍将解决方法记录如【3】
参考博文:
1.树莓派开机启动脚本1 开机启动 python 脚本
一般脚本,可在 /home/pi/.config/autostart 路径下新建 ...
树莓派Paddle-Lite从模型训练到部署全流程
树莓派Paddle-Lite从模型训练到部署全流程
此教程默认树莓派已安装Paddle-Lite推离库
若未安装请参考此教程:https://blog.csdn.net/weixin_40973138/article/details/114780090
[TOC]
一、通过PaddleX进行模型可视化训练1.PaddleX前置环境准备
N卡安装CUDA和cuDNN
安装PaddlePaddle
安装PaddleX
2.PaddleX-建立数据集
一般来说,图像分类至少需要各类100张,目标检测至少需要80张
下面以创建目标检测数据集举例
点击“新建数据集”,选择任务类型,点击“创建”
在右侧有数据集存放的详细说明
导入完成后,在数据分析处切分数据集(此图已分割完成),在右侧可以看到数据集预览
至此,数据集创建完成
3.PaddleX-模型训练
请选择GPU好的电脑进行训练,GPU算力越高训练越快
新建项目,任务类型记得和数据集相同
1.选择数据集
2.模型参数设置和数据集增强处理选择
可实时观察训练进度
通过模型评估可以看到各e ...
g++编译时如何链接opencv库
g++编译时如何链接opencv库只需在命令后添加如下语句即可
1$(pkg-config --cflags --libs opencv)
如
1g++ holeFill.cpp -o test $(pkg-config --cflags --libs opencv)
如果使用CMakeLists.txt,在版本的选择上可能更方便。
C++ Vector
C++ vector操作1.vector1.1vector说明
vector是向量类型,可以容纳许多类型的数据,因此也被称为容器
(可以理解为动态数组,是封装好了的类)
进行vector操作前应添加头文件#include
1.2vector初始化:方式1:
12//定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定vector<int>a(10);
方式2:
12//定义具有10个整型元素的向量,且给出的每个元素初值为1vector<int>a(10,1);
方式3:
12//用向量b给向量a赋值,a的值完全等价于b的值vector<int>a(b);
方式4:
12//将向量b中从0-2(共三个)的元素赋值给a,a的类型为int型vector<int>a(b.begin(),b.begin+3);
方式5:
123 //从数组中获得初值int b[7]={1,2,3,4,5,6,7};vector<int> a(b,b+7);
1.3 ...
C++ 成员函数与友元函数
C++成员函数与友元函数重载运算符1.C++中不可重载的运算符
C++中不能重载的运算符有5个,分别为: **? . :: sizeof .* **
对双目运算符而言,成员函数重载运算符的函数参数表中只有一个参数,而用友元函数重载运算符函数参数表中含有两个参数。 对单木运算符来说,成员函数重载运算符的函数参数表中没有参数,而用友元函数重载运算符函数参数表中含有一个函数。这个问题要搞清楚,有一个this指针的问题
双目运算符一般可以用友元函数重载和成员函数重载,但有一种情况只可以用友元函数重载。 即:双目运算符左边的变量是一个常量,而不是对象!!!
2.一般经验
对于单目运算符,建议选择成员函数;
对于运算符“=,(),[],->”只能作为成员函数;
对于运算符“+ =,-=,/=,*=,&=,!=,~=,%=,<<=,>>=”建议重载为成员函数;
对于其他运算符,建议重载为友元函数。
...
C++ 继承方式
C++继承方式基类&派生类
继承方式:class derived-class: access-specifier base-class(如class a:public b{……};)
假设有一个基类Shape,Rectangle是派生类,如下所示:
1234567891011121314151617181920212223242526272829303132333435363738394041424344#include <iostream> using namespace std; // 基类class Shape { public: void setWidth(int w) { width = w; } void setHeight(int h) { height = h; } protected: int width; int height;}; // 派生类class Recta ...

