自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MakerInChina

记录自己成长过程的点点滴滴:学习、折腾、分享。

  • 博客(45)
  • 资源 (7)
  • 收藏
  • 关注

转载 [转]QtCreator插件框架学习00-说明

1、简介该系列文章为自己学习Qt Creator源码中插件框架的笔记,在学习后能够由核心的部分搭建出符合自己使用的插件式程序框架。1.1、项目名字:MonkeyQDK = Monkey Qt Development Kit1.2、项目Git仓库https://github.com/makerinchina-iot/MonkeyQDK1.3、笔记https://makerinchina.cn/category/software/article_qt/2、说明2.1 目标学习QtCreat

2021-07-03 22:02:54 173

原创 电子开发工具箱-集成串口、网络等多个功能-E-Tool

零知工具箱集成了电子开发中常用的辅助开发工具,包括串口、网络、ISP、摄像头、NFC等多种功能,其界面如下:

2019-09-11 09:14:56 563

原创 STM32G0开发笔记-Platformio+libopencm3-EEPROM M24C02使用

使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为EEPROM M24C02的使用方法。

2023-01-11 11:09:16 543

原创 STM32G0开发笔记-Platformio+libopencm3-FreeRTOS和FreeModbus库使用

title: STM32G0开发笔记-Platformio+libopencm3-FreeRTOS和FreeModbus库使用[原文:makerinchina.cn]使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为FreeRTOS和FreeModbus库使用。

2022-11-16 21:59:30 1283 2

原创 STM32G0开发笔记-Platformio+libopencm3-SPI接口使用

使用Platformio平台的libopencm3开发框架来开发STM32G0,下面介绍SPI接口的基本使用。

2022-10-18 21:13:29 477

原创 STM32G0开发笔记-Platformio+libopencm3-串口中断

【原文】https://makerinchina.cn/article_dfa2d9ee8875.htmltitle: STM32G0开发笔记-Platformio+libopencm3-串口中断使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为串口中断的使用。

2022-09-29 18:30:00 776

原创 STM32G0开发笔记-Platformio+libopencm3-按键和外部中断

【原文】https://makerinchina.cn/article_12434df0dc1e.htmltitle: STM32G0开发笔记-Platformio+libopencm3-按键和外部中断使用Platformio平台的libopencm3开发框架来开发STM32G0,下面为GPIO接按键的使用方式。

2022-09-29 00:11:05 383

原创 STM32G0开发笔记-Platformio平台下使用libopencm3库

由于使用的STM32G070RB在pio的libopencm3框架中没有这个型号,因此首先需要先定义一个自定义开发板型号;安装ST-STM32 platforms在Platformio的platforms中搜索STM32,然后安装ST-STM32 platforms框架,根据已有的相似型号进行更改配置json文件复制一个相近的板子型号的json配置文件命名为 MonkeyPi_STM32_G070RB.json,更改mcu型号、svd等信息;{

2022-09-25 20:59:07 555

原创 使用platformio+arduino开发自定义板子STM32G070

因为Platformio中没有自己需要的STM32G070RB这个型号的板子,因此需要自己定义一个开发板型号。{这里的 MonkeyPi_STM32_G070RB 就是自定义的板子名称;在目录。

2022-09-03 23:51:44 2092

原创 PySide2入门-设计界面和简单美化

使用QtDesigner设计GUI界面,然后进行简单的美化。

2022-03-18 07:47:42 1970 1

原创 03-ESP32开发-ESP-IDF+VSCode-RGB-LED

使用ESP-IDF开发方式控制RGB LED灯。1、准备工作1.1、硬件模块ESP32-WROVER-ELED1.2、软件VSCode ESP开发插件ESP-IDF SDK1.3、连线RGB LED的三个控制引脚分别连接ESP32开发板的12、14、27号引脚,简图如下:2、代码2.1、目标本次要实现如下LED灯光效果:红绿蓝分别闪烁三次->红色呼吸灯->绿色呼吸灯->蓝色呼吸灯->黄色显示最亮、一半亮、最弱亮度。2.2、步骤(1)在VSCode

2021-10-09 07:09:55 3283

原创 【Q&A】GD32E230在ADC多通道采集中使用DMA出现数据错位问题

Q使用GD32E230C8进行多通道数据采集,根据官方给的例子进行修改的代码运行后出现DMA数据错位问题。A经过测试,发现是使用了校准功能 adc_calibration_enable() 时候就会出现错位,经过测试提供如下两种方法:(1)不使用校准功能;(2)需要在配置ADC时候先使用adc_deinit() 或 adc_disable() 复位下再开始配置,这样开启校准功能也没有问题;原文:GD32E230在ADC多通道采集中使用DMA出现数据错位问题...

2021-10-06 17:05:32 2478 2

原创 树莓派GUI-摄像头使用-PySide/PyQT/QML/Python/Qt

介绍在树莓派上使用python和qt开发一个camera程序,开发工具使用PyCharm和QtCreator,开发方式为Pyside2+QML。1、新建项目1.1、新建工程打开PyCharm,新建工程cameraViewer,如下:1.2、添加python主程序在项目中新建main.py 主程序如下:import osimport sysfrom pathlib import Pathfrom PySide2.QtCore import Qt, QObject, Slot, QCore

2021-09-23 07:02:04 1048

原创 树莓派GUI-串口使用-PySide/PyQT/QML/Python/Qt

介绍在树莓派上使用串口进行数据收发。开发环境依然使用之前介绍的PyCharm编写python代码和远程开发,然后使用QtCreator编写QML的GUI界面。1、新建项目1.1、新建工程打开PyCharm,新建工程serialTesting,如下:1.2、添加python主程序serialTesting.py 主程序如下:import osimport sysfrom pathlib import Pathimport serialimport threadingfrom PySi

2021-09-12 22:40:18 414

原创 树莓派GUI-ADC测量-PySide/PyQT/QML/Python/Qt

本文介绍在树莓派上使用python和qt开发一个显示ADC数据的GUI程序。开发环境使用PyCharm进行python代码远程开发,然后使用QtCreator编写QML界面。1、新建项目1.1、新建工程打开PyCharm,新建工程adcMeasure,如下:1.2、添加python主程序adcMeasure.py 主程序如下:import osimport sysfrom pathlib import Pathfrom PySide2.QtCore import Qt, QObject

2021-09-07 07:22:40 368

原创 树莓派GUI显示温度监控-PySide/PyQT/QML

本文介绍在树莓派上使用python和qt开发GUI程序,程序功能为显示DS18B20模块的温度曲线。开发环境依然使用之前介绍的PyCharm编写python代码和远程开发,然后使用QtCreator编写QML界面的方式。1、新建项目1.1、新建工程打开PyCharm,新建工程tempMonitor,如下:1.2、添加python主程序tempMonitor.py 主程序如下:import mathimport osimport sysimport timefrom pathlib im

2021-08-29 08:47:14 828

原创 树莓派GUI控制蜂鸣器-Pyside-python/qml/qt

本文介绍在树莓派上使用Pyside2+QML方式进行GUI程序的开发,该GUI程序可以通过按钮来控制蜂鸣器播放不同的音调,这里演示按钮弹奏歌曲《两只老虎》。开发环境依然使用之前介绍的PyCharm编写python代码和远程开发,然后使用QtCreator编写QML界面的方式。1、新建项目1.1、新建工程打开PyCharm,新建工程buzzer_control,如下:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2mGf6lcS-1628859460001)(http:

2021-08-13 21:02:35 869 1

原创 树莓派gui-pwm控制led-pyside

本文介绍在树莓派上使用Pyside2+QML方式进行GUI程序的开发,该GUI程序可以通过滑动条来控制树莓派的PWM输出,从而控制LED的亮度。开发环境依然使用之前介绍的PyCharm编写python代码和远程开发,然后使用QtCreator编写QML界面的方式。1、新建项目1.1、新建工程打开PyCharm,新建工程LED_PWM_Control,如下:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4nZsPk2H-1628291711765)(http://mak

2021-08-07 07:20:14 346

原创 树莓派GUI控制LED-Pyside

这里介绍在树莓派上使用Pyside2+QML方式进行GUI程序的开发,该GUI程序可以通过按钮来控制LED。1、准备开发环境开发环境使用PyCharm+QtCreator+树莓派远程开发方式,参考之前教程:树莓派GUI远程开发-pyside2开发环境搭建树莓派树莓派需要安装pyside2库和GPIO Zero库,本次使用这两个库进行开发,参考之前python操作LED的教程:使用PyCharm进行树莓派的远程开发-python2、步骤2.1、新建项目新建一个python项目,并填

2021-08-01 09:27:56 461

原创 树莓派GUI远程开发-pyside2开发环境搭建

这里介绍在树莓派上使用Pyside2+QML方式进行GUI程序的开发,开发工具使用PyCharm和QtCreator两个IDE。1、工具安装1.1、PyCharm可以安装PyCharm专业版,比较方便使用其远程调试功能。如果安装社区版,则需要利用其他工具将本地代码同步到远程树莓派,如sftp工具。网址:https://www.jetbrains.com/pycharm/download/#section=windows1.2、QtCreator按照在线方法直接安装,然后加入到环境变量中,这里

2021-07-31 11:39:42 1602

原创 使用Clion进行树莓派的远程开发-C语言

这里介绍使用Clion作为树莓派C/C++编程方式的远程开发环境。1、设置1.1、软件下载和安装下载Clion并安装。1.2、软件配置(1)树莓派端需要下载CMake工具sudo apt install cmake(2)Clion环境配置安装完成后在Clion中配置:选择settings->Tools->SSH Configurations,在右侧选择 “+” 添加树莓派SSH连接,完成后可以点击 Test Connection测试是否成功:选择settings-

2021-07-21 23:59:56 1611 6

原创 使用PyCharm进行树莓派的远程开发-python

这里介绍使用PyCharm作为树莓派的远程开发环境。1、设置1.1、PyCharm软件安装需要Python IDE for professional 版本,它拥有远程调试功能:Remote development capabilities。1.2、配置环境在Settings-> Python Interpreter中,点击Add添加一个Python Interpreter:选择SSH Interpreter ,设置好树莓派的SSH信息:填写用户名pi的密码:设置好树莓派上pyth

2021-07-18 17:37:02 4385 3

原创 golang编程cobra-cli库使用

1、准备1.1 资源和文档库:https://github.com/spf13/cobra文档:https://github.com/spf13/cobra/blob/master/README.md1.2 下载使用 go get命令下载:go get -u github.com/spf13/cobra2、使用2.1 基本使用在工程中新建cmd文件夹,并添加root命令:在cmd文件夹下新建root.go文件,内容如下:package cmdimport ( "fmt"

2021-07-14 07:24:54 389

原创 FPGA-vivado仿真导出波形文件

在vivado仿真中,没有提供直接导出波形文件的功能,我们要导出波形文件可以按照下面方式进行:1、运行仿真后,在simulation界面的TCL中运行一下命令:open_vcdlog_vcd [get_object /testbench/module/*] //这里选组要导出的信号,*表示模块module下的所有信号run 50us //运行仿真close_vcd2、上述步骤完成后,我们就可以查看文件了,路径如下:项目工程\mcu.sim\sim_1\synth\timing\xsim\d

2021-07-12 06:54:53 7808

原创 可综合的ROM芯片设计实现-verilog代码

文章目录1、基本单元1.1、最基本cell1.2、两个存储单位1.3、八个存储单位1.4、十六个存储单位2、使用和测试2.1 使用2.2 仿真本文实现可以综合的ROM模块,由verilog实现,该方法可以用于芯片固化程序的存储。1、基本单元1.1、最基本cell`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // E

2021-07-10 19:42:44 2306 1

原创 QtCreator插件框架学习06-添加自己的插件

在之前搭建的框架基础上添加一个自定义插件,该插件可以和之前的核心插件Coreplugin的设置接口和页面显示接口进行联系起来,以扩展程序的功能。1、说明1.1、实现功能在之前搭建的插件框架基础上添加自己的插件,这个插件为一个简单的示例插件,仅显示一个简单的界面。1.2、实现方法这个插件的显示界面通过核心插件的页面接口进行添加;插件的设置界面通过核心插件的设置接口进行添加;2、具体实现2.1、插件主界面#ifndef HELLOPAGE_H#define HELLOPAGE_H#i

2021-07-10 14:28:35 964

原创 QtCreator插件框架学习05-扩展核心插件页面接口

在QtCreator中可以显示多个页面,它通过左边的按钮进行页面切换,这里就扩展核心插件的页面接口,使它可以通过插件方式添加页面,并通过左侧的按键进行页面切换。1、页面接口1.1、FancyPage页面类创建 FancyPage 类型,头文件如下:#ifndef FANCYPAGE_H#define FANCYPAGE_H#include <QObject>#include "core_global.h"#include <QPushButton>names

2021-07-10 14:26:51 293

原创 QtCreator插件框架学习04-扩展核心插件设置接口

之前的核心插件比较简单,仅仅用于显示一个主窗口,这里扩展其功能,使它可以与其他插件进行联系起来。下面就先实现一个设置扩展功能:一个设置界面接口,其他插件可以通过这个接口添加自己的设置界面;1、设置界面接口该接口管理所有的设置界面,由IOptionPage接口类和IOptionPageWidget接口类组成,即使用QtCreator源码中coreplugin插件下Dialogs文件夹下的实现源码。1.1、IOptionPage/IOptionPageWidget接口直接使用QtCreator的C

2021-07-10 14:24:35 391

转载 QtCreator插件框架学习03-核心插件

1、核心插件1.1、插件pro文件include(../../plugins.pri)QT += widgetsDEFINES += COREPLUGIN_LIBRARYTARGET = corepluginLIBS += \ -lextensionsystemHEADERS += \ coreplugin.hSOURCES += \ coreplugin.cppDISTFILES += \ coreplugin.json这里只实现一

2021-07-03 22:08:09 370

转载 QtCreator插件框架学习02-main入口

1、main主函数1.1、QApplication对象在main函数中首先实例化 QApplication 对象 a , QApplication 管理GUI程序的控制和设置,它是整个应用程序的唯一一个实例,其对象指针可以通过 instance() 获取到,和 qApp 宏这个全局变量等效。主要职责包括:用户桌面设置;事件处理;命令行参数处理;GUI外观定义;本地化如语言设置;主义处理基本的初始化操作,因此在创建其他UI对象之前必须先创建QApplication对象。1.2、main函

2021-07-03 22:06:51 290

转载 QtCreator插件框架学习01-目录结构

1、代码目录结构1.1、主要的文件结构如下:_ ││ MonkeyQDK.pri│ MonkeyQDK.pro├───build│ ├───bin│ │ │ extensionsystem.dll│ │ │ MonkayQDK.exe│ │ │ utils.dll│ │ │ │ │ └───plugins│ │ coreplugin.dll│ │ │ └──

2021-07-03 22:05:12 415

转载 RIOT-OS入门 Windows系统下在STM32上运行RIOT OS

转载:https://makerinchina.cn/riot_os%e5%85%a5%e9%97%a81/1、开发环境1.1 软件和文档RIOT OS:https://github.com/RIOT-OS/RIOTwindows上开发环境配置教程:https://github.com/RIOT-OS/RIOT/wiki/Build-RIOT-on-Windows-OS1.2 主要步骤下载编译工具 GNU Arm Embedded Toolchain gcc,然后将其放置到环境变量;.

2020-09-17 20:47:20 732

转载 nrf51822-提高nordic ble数据发送速率

【转】http://blog.chinaunix.net/uid-28852942-id-5753308.html讲解2点:       为什么 nordic的4.0协议栈中ble只能发送20字节的应用负载数据。       大量数据发送时如何提高发送速率1:为何上层应用负载每次最多20字节 首先了解 4.0中链路层的包格式如下:       PDU即协

2018-01-17 18:33:22 1926 1

转载 [转]STM32串口接收不定长数据原理与源程序

今天说一下STM32单片机的接收不定长度字节数据的方法。由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的ARM单片机。IDLE中断什么时候发生?IDLE就是串口收到一帧数据后,发生的中断。什么是一帧数据呢?比如说给单片机一次发来1个字节,或者一次发来8个字节,这些一次发来的数据,就称为一帧数据,也

2018-01-08 19:03:46 556

转载 《转》PN532读写操作(串口)

详细教程请查看:零知技术社区, 包含有Arduino 和 STM32平台的具体代码。资料:(1)使用PN532串口NFC模块读写NFC卡片;(2)通过NFC卡的破解过程来分析ACR122U读写原理(3)零知开源快速入门32-RC522 NFC模块读写NFC卡片 门禁卡 白卡(4)浅谈卡片破解 RFID安全技术这几天玩玩pn532读写Mifare1 Card,s50,s...

2017-12-07 16:52:08 15381 1

转载 转载一篇c语言深度文章 《一个“蝇量级” C 语言协程库》

协程(coroutine)顾名思义就是“协作的例程”(co-operative routines)。跟具有操作系统概念的线程不一样,协程是在用户空间利用程序语言的语法语义就能实现逻辑上类似多任务的编程技巧。实际上协程的概念比线程还要早,按照 Knuth 的说法“子例程是协程的特例”,一个子例程就是一次子函数调用,那么实际上协程就是类函数一样的程序组件,你可以在一个线程里面轻松创建数十万个协程,就像

2017-11-19 23:18:38 385

原创 编程入门知识

>>>>>>>>(1)输出 "%" 用“%%”(2)移位:左移无论什么数 补0右移时,负数补1(移几位就补几个1),正数补0(3)清0取反要用与,某位置1可用或对i的第m位清0:m = m & ~(1 对i的第m位置1:m = m | (1 (4)printf 输出中 %-md 表示左对齐 (5)scanf 以%c格式读入时,以连续的

2017-11-17 00:25:42 222

原创 面试题

1、c语言函数传递二维数组c语言中经常需要通过函数传递二维数组,有三种方法可以实现,如下:方法一, 形参给出第二维的长度。例如:#include void func(int n, char  str[ ][5] ){ int i; for(i = 0; i   printf("\nstr[%d] = %s\n", i, str[i]);}void mai

2017-11-17 00:19:01 153

转载 vim使用

以下是在网上找到的vim的资料,用到的时候查查1. 启动与退出vim由于vim 的功能很多,首先来看如何启动和退出vim。(1) 在Linux 提示符下键入vim(或使用vim myfile 来编辑已经存在的文件)即可启动它。(2) 要退出vim,先按下Esc 键回到命令行模式,然后键入“:”,此时光标会停留在最下面一行,再键入“q”,最后按下Ent

2017-11-17 00:17:01 171

转载 【转】vim配置文件

“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”” ” ” Author: sunboy_2050 ” Version: 1.0 ” Last Change: 2011-11-11 11:11:11 ” http://blog.csdn.net/sunboy_2050 ” “”“”“”“”“”“”“”“”“”“

2017-11-17 00:13:03 164

E-Tool 多功能开发调试工具

E-Tool, A Tool Easy To Use , 用于嵌入式软件工程师、创客等的开发工作。 功能: 串口相关工具 串口助手 串口文本传输 ISP下载工具 串口绘图 串口摄像头 网络相关工具 网络调试助手

2020-09-29

无线局域网中基于信号强度的室内定位

无线局域网中基于信号强度的室内定位,技术文档,希望对研究这方面的人有帮助

2018-09-04

清风蓝牙教程-nrf52832

清风蓝牙的教程,nrf52832,对于学习nordic蓝牙4.0芯片将有很大的帮助。

2018-09-04

USB串口驱动

USB转串口的驱动

2016-06-27

Visual C++串口通信实例源码

Visual C++串口通信实例源码:利用API函数实现字符发送

2015-08-02

hyper-v安装集成服务

win10的haper-v虚拟机缺少的文件vmguest.iso

2015-08-02

空空如也

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

TA关注的人

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