自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FRAM的博客

闲来无事,随便写下东西

  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

原创 NanoPC-T4 Debian buster root用户自动登录

NanoPC-T4 Debian buster root用户自动登录

2022-11-12 10:22:08 602 1

原创 定昌rk3288 ubuntu18.04 开发笔记

qt 官网下载 qt-everywhere-src-5.14.2.tar.xz 和 qt-opensource-linux-x64-5.14.2.run。在工作目录下 解压 qt-everywhere-src-5.14.2,和建立目录 sysroot。④、打开“瑞芯微开发工具” 会在界面上发现,如下文字,说明开发板已和电脑建立连接。最后点击升级按钮,开始下载固件,等进度100%后,会重启开发板。在电脑上,建立ssh 公钥 ,并发布公钥到 开发板。②、用usb线,连接电脑,和开发板烧写口。

2022-09-24 14:45:23 2009

原创 mingw 使用 HPSocket 进阶版

#ifndef HPSOCKET4CWRAPPER_HPP#define HPSOCKET4CWRAPPER_HPP#include <cstdio>#include <shared_mutex>#include <optional>#include <map>#include <HPSocket4C.h>/** * 如果 lambda 表达式不捕获任何外部变量,在特定的情况下,会有额外的代码生成。 * 其中,特定情.

2021-09-01 10:43:20 499

原创 c++ IP地址离线查询

在编写服务器程序的时候,我们可能会对连接的客户端IP进行一些过滤、统计,...等等的一些操作。在此就需要一些技术手段来分析客户端的IP地址。总的来说可以有以下几种方法。1、通过在线ip服务(使用post/get等技术手段)投入少,但是查询速度慢,效率不高,对于并发量大的情况,效果不好。2、通过离线ip查询(1)使用付费版,投入大,效率高。(2)使用免费版,限制大。(3)使用开源版,效率高,但是准确率稍差。结合上述几点看法,最终我选择开源离线IP查询方案。就我本人认知来说,主要

2021-03-30 10:57:13 751

原创 windows c++20 实验环境

c++20,从2020年开始在网路上传的甚嚣尘上,各种各样的教程漫天飞,但是能够完全实现c++20标准的编译器,到现在还没用出现。出于个人原因,本人习惯在windows上使用 clion + Mingw64 + cmake 开发程序,在前两天安装msys2环境时发现,msys2的gcc版本为10.02,部分支持c++20标准,幸甚。...

2021-03-12 16:37:41 744

原创 树莓派 qml 开机启动程序配置

树莓派(raspbian系统)开机启动有 虚拟键盘的Qml程序时,不同的启动时机,可能会造成虚拟键盘失灵,无法输入。最好在系统登录之后进入桌面环境下再启动。具体配置如下:1、配置 /etc/profile在文件结尾处 添加 XXX &XXX位,可执行程序路径2、隐藏任务栏,自定义桌面3、隐藏鼠标指针sudo aptitude install unclutter在 /etc/profile 文件末尾 添加unclutter -idle 1 &am...

2021-01-21 10:29:23 228

原创 Qml 高速显示 opencv Mat

在传统Qt5 程序中,显示高速图像,往往都要使用opengl,但是Qt5的opengl程序编写,自我感觉都太繁琐。后来发现在qml中使用videooutput控件,显示视频速度超快,并且代码简单。videooutput的视频源,代码如下。//// Created by Yoo on 2020/8/13.//#ifndef DOORCONTROL_FRAMEPROVIDER_HPP#define DOORCONTROL_FRAMEPROVIDER_HPP#include <QObj

2020-09-01 11:45:41 1264

原创 NanoPC T4 移植 HPSocket

由于 NanoPC T4 为arm64所以,HPSocket 提供的编译安装脚本不能使用,只能自己写cmake ,大致如下# For more information about using CMake with Android Studio, read the# documentation: https://d.android.com/studio/projects/add-native-code.html# Sets the minimum version of CMake required

2020-08-28 18:12:19 232

原创 NanoPC T4 Qt5 环境配置

在使用NanoPC T4 Ubuntu18.04 开发Qt widget程序时,发现使用QPushButton QRadioButton 等响应点击的控件时,会出现不知名的错误,导致程序崩溃,即使不连接控件信号,也会出现错误。并且使用官方的移植好的Qt5.10 版本时,qml支持也不好。所以只好再重新安装一下,qt5.95。命令如下:sudo apt-get install qt5-defaultsudo apt-get install qtmultimedia5-devsudo apt-get

2020-08-28 17:59:19 386

原创 NanoPC T4 安装 mysql-server 及换源

刷完官方提供的ubuntu 18.04 桌面版后,想安装 mysql-server,运行 sudo apt-get install mysql-server 是不成功的,必须首先update一下。但是,update时间简直不能忍受,大约5到8小时左右。没办法,只能换源。根据网上方法,先后换清华源、科大源,均不成功,最后更换阿里源。记录如下。deb http://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe m

2020-08-05 10:14:52 174

原创 NanoPC T4 opencv 操作 usb摄像头

首先,保证系统为 ubuntu 18.04,摄像头与usb端口连接正常。打开桌面软件usb摄像头测试程序,可以看到图像,但是显示窗口可能与你的摄像头长宽比不一致,但无所谓。然后再命令行窗口可以看到,该摄像头名称,我的为 /dev/video10USB的UVC摄像头在LINUX平台下通过V4L驱动来使用,但是使用 cv::VideoCapture(10) 打开是失败的,参考网上资料,应该是摄像头编号为 200 + 10 = 210修改代码后,打开摄像头成功。...

2020-08-05 10:03:58 378

原创 RK3399 产品选择

RK3399 是一款的arm64处理器,其内部集成GPU,对多媒体,人脸识别等,支持都非常不错。在国内,选择以RK3399为核心,开发产品的知名公司,有很多。就我个人而言,主要使用过两家公司的开发板。1、FireFly RK3399 开发板2、NanoPC T4开发板两家公司可能侧重点不同,产品特性有一些不同。FireFly 主要维护android系统,主打人脸机终端,其对Linux系统支持马马虎虎,要把产品开发定位在 Firefly RK3399 的Linux环境下,我想,可能是一个悲

2020-08-05 09:37:06 439

原创 qt5树莓派3B+开发环境搭建

硬件:树莓派3B+一块、16G(最好32G)SD卡一张软件:visualstudio 2017visualgdbraspberry-gcc6.3.0-r5qt5qt-vsaddin-msvc2017-2.4.2.vsix树莓派 Stretch系统镜像Win32DiskImagerVNC ViewerPuTTY配置步骤:1、使用Win32DiskImager把下载好的树莓派Stretch系统镜像写到SD卡。之所以选择Stretch镜像,是因为Buster镜像

2020-05-27 15:31:29 1074

原创 Mingw使用HPSocket的包装类

首先,HPSocket是一个很好的开源网络项目,支持跨平台,Windows,Linux,Android,MacOS等等。但是就Windows平台而言,它的开发环境是VisualStudio。由于c++编译器的差异,Mingw和Mingw64是无法调用HPSocket的c++动态链接库的,因此我们只能使用HPSocket的c语言动态库。但是对于习惯使用c++的人来说,使用c语言是一件感觉很不好的是,就像现代人,突然回到了原始社会一样,在c语言中,没有c++的各种武器,并且函数、变量分散,阅读代码...

2020-05-27 11:46:31 585

原创 c++ 调用阿里云短信

在c++ 程序中,有时我们需要根据客户需求,添加短信提醒/短信验证等功能,然而,市场上的大部分短信平台,对c/c++支持都不算友好。有人,自己用c/c++从头到尾,自己实现了一套短信的c++ sdk,但是用起来,呵呵。。。但是我们换个角度想一想,短信平台提供的SDK 大部分都包含 python,java,go...等等。1、python 和 java 都是解释性语言,可以用c++调用p...

2020-04-01 16:44:55 1380 2

原创 树莓派3b+ 学习与开发 前言

刚刚使用树莓派3b+ 开发完成一个工程,其主要功能包含:人机界面,记录存储,网络上传,人脸识别,指纹识别,声音提示等等。 之所以写这一系列文章,是因为,最近时间比较宽裕,并且想把自己在这一开发工作过程中的收获和大家一起分享,以便减少大家学习和使用树莓派3b+的弯路。 我打算,在这个系列,写5到6篇文章,大致如下: ...

2019-11-20 11:38:55 195

原创 CubeMx工程增加FreeRtos支持

对于stm32一些ram和flash相对大一些的mcu,增加一个实时操作系统,会使程序控制更加灵活。本文阐述一下通过CubeMx自动添加FreeRtos的方法,和使用visualgdb加载CubeMx生成项目的方法。一、软件环境1、CubeMx 5.2.02、VisualStudio20173、VisuualGDB 5.4R3二、步骤1、用CubeMx创建一个项目,因为手头...

2019-05-13 16:12:36 4514

原创 C++ STM32 编程 009 学习感悟

学习了一段时间stm32之后,感觉网络上的资料,太过纷繁,太过复杂,漏洞太多。在这么纷繁复杂并且布满荆棘的道路中,寻找一条不是那么崎岖的路径,似乎不是那么容易。就我自身而言,大而化之,不求甚解,是我学习中的一个有效的方法。遇到事情不要刨根问底,拿来别人制造好的轮子,跑我们自己的车,是我减少重复劳动的准则。我的学习目的很纯粹,就是要用最熟悉的工具,编写最简单的代码,然后,让单片机完成我们设计...

2018-12-20 19:12:43 304

原创 C++ STM32 编程 008 用Proteus运行程序

将生成的 .ihex文件,扩展名修改为.hex。打开Proteus 8.7 SP3 新建一个工程,并添加 STM32F103R6 PNP LED BUTTON RES(单片机,三极管,LED发光二极管,按钮,电阻)五种元件。  把这五种器件,连接到原理图上连好之后,把VDDA 添加到 VCC分组,把VSSA添加到GND分组。如下设置单片机外部晶振...

2018-12-18 13:53:49 2611

原创 C++ STM32 编程 007 正式编写第一个程序

1、打开之前我们导入到VisualStudio的Keil工程。2、添加我们之前提到的GPIO简化类。3、添加一个App类,在该类完成各种控制。4、对App类进行C包装(1)、CubeMX不能修改用户添加的文件,只能修改由CubeMX生成的文件。(2)、由于我们的工程外设硬件可能需要后续添加删除,初始化代码手动修改太麻烦,而且容易出错。但是用CubeMX软件修改初始化配置就很方便...

2018-12-18 11:19:51 426

原创 C++ STM32 编程 006 简化GPIO操作

由于开始学习单片机的时候,接触的是51单片机,IO操作已经习惯了,所以在这里对GPIO做了个小小的封装#pragma once#include "stm32f1xx_hal.h"namespace FRAM{ class GPIO_Out { public: void Link(GPIO_TypeDef* pPort, uint16_t Pin); void opera...

2018-12-18 10:15:17 823

原创 C++ STM32 编程 005 用c++编写STM32程序的准备

        由于我们使用的是 ARM 的工具链 是gcc的,所以,我们大可以用c++来编写程序,无论是 c++99 或c++11 还是 c++14,都是可以的。另外在 HAL 库中,几乎每个 .h头文件都有这种宏#ifdef __cplusplusextern "C" {#endif#ifdef __cplusplus}#endif由此,我们可以大胆的使用 c++ 的各...

2018-12-16 20:59:25 1454 2

原创 C++ STM32 编程 004 使用VisualStudio导入工程

        打开VisualStudio 2017 新建项目 选择项目类型为 Embedded Project Wizzard 工程名称和位置,最好和我们用CubeMX创建的工程一致。 点击确定 弹出 Visual GDB配置向导   *注意 我们一定要用 Automatically import a project in a different format =&gt; Im...

2018-12-16 20:10:25 667 1

原创 C++ STM32 编程 003 使用CubeMX创建第一个程序

        GPIO是stm32的基础,单独时间点上,每个GPIO都可以作为输出,或输入,或中断,或特殊功能使用(特殊功能是指系统默认的功能使用引脚),每个时间点上,只能使用一种方式。        首先,我们打开CubeMX软件,完成工程的配置,以及MCU特殊功能的选择。        File=&gt;New Project 创建一个新的工程     在左上角输入 st...

2018-12-16 19:35:23 731

原创 C++ STM32 编程 002 Proteus效果展示

这里我先买个关子,下面是我在学习中的一个Demo,是用Proteus仿真的,该工程中我实验的是SPI功能,由于Proteus软件中的stm32103系列的MCU,都是小型化的只有一个SPI接口,而且,SD卡又只有SPI接口,所以我把,TFTLCD ILI9341与SD卡都接到了SPI1接口上了。下面是效果图。发这张图的目的,是证明,学习stm32初始阶段是可以用软件仿真的,拿这个练手问题貌...

2018-12-16 18:16:12 862 3

原创 C++ STM32 编程 001 工欲善其事必先利其器

        作为一个标准的Windows 程序员,使用VisualStudio,已经成为了我的习惯,当看到当前,大多数开发者,都在使用Keil5,这个软件的时候,我的心态是凉凉的,也许大家的经历都不同吧。        所幸,某外国公司,已经做好了VisualStudio开发嵌入式程序的插件 --Visual GDB。我所使用的是 5.3R8版本的,这个版本较比我之前使用的版本,要多出一个...

2018-12-16 17:45:44 402

原创 C++ STM32 编程 000 工作感慨

      随着人工智能、物联网、移动端等新型应用的发展,作为一个传统型的Windows平台的C++程序员,我深深的感到力不从心。但是生活还是要继续。没有什么办法,要么转行,要么转变。      近两年,我所工作的地方是一个小公司,研发的产品比较单一,人员结构又不是那么复杂。我去应聘的时候,又是只单单需要做好Windows部分和维护服务器上一点点的东西可以了。感觉生活还算惬意。      但是...

2018-12-16 16:46:05 624

纯真数据库转换工具,用来转换数据库编码

纯真数据库转换工具,用来转换数据库编码

2021-03-30

qml_show_image.rar

qml 显示海康威视摄像头,已经打包好调用的各种库,编译环境 windows10 Qt5.14.2 Mingw64.

2020-09-01

VirtualGDB编写stm32 001

用C++、CubeMX、VirtualGDB、Proteus编写测试 stm32代码,GPIO输入输出测试,带Proteus测试例程。

2018-12-18

空空如也

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

TA关注的人

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