自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

转载 nordic之Flash访问模块FDS常见问题

大家在使用FDS模块时,经常碰到的问题有如下几种:FDS不支持掉电保护,所以在Flash操作过程中出现了掉电,FDS行为将未知 OTA的时候,新固件的FDS page数目一定要等于老固件的FDS page数,否则将出现不可知行为 fds_record_write或者fds_record_update后,强烈建议回读该记录,以确保记录的确write或者update成功 忘了给参数清0。Nordic提供的API输入参数很多都是结构体变量,这些变量使用之前,记得一定要通过memset先清0。如果忘了清0

2022-03-22 16:09:07 768

转载 BLE之 扩展广播介绍

蓝牙5.0把广播信道抽象为两类,一种叫主广播信道(primary advertisement channels),工作在37,38,39三个信道中,蓝牙4.0的广播使用的都是主广播信道,另一种叫第二广播信道(Secondary Advertising Packets),工作在0–36信道中,这是蓝牙5.0新增的。如下图所示,对比4.0广播包新增了许多类型的广播包,其中ADV_EXT_IND以及所有channel处于Secondary Advertising的均为新增的广播包类型。

2022-01-24 11:33:50 3349

转载 BLE连接过程分析及异常断开0x3e错误原因分析

我们知道BLE通信过程是建立在连接基础之上的,按角色不同可以分为蓝牙主设备、蓝牙从设备,也叫中央设备和外围设备。以下简称为主机和从机。一次蓝牙通信,通常由主机发起,从机响应。我在调试蓝牙主机程序的过程中,发现经常会出现“秒断”的现象,即主机连接上从机,然后立马又断开了,断开原因是0x3e。经过查找资料和抓包分析,终于搞清楚了发生这个现象的原因。 先看下BLE核心规范《 Core_v4.2》中对0x3e的断开原因是怎么说明的,在文档的385页可以找到相关描述: 从字面意思...

2021-07-21 10:34:51 2210

转载 解决STM32定时器初始化后直接进入中断问题

解决STM32定时器初始化后直接进入中断问题STM32初始化完毕后第一次启动定时器直接进入中断,原因是定时器的寄存器中断标识没有被清理掉。如果使用标准库,先用TIM_ClearITPendingBit(TIM1, TIM_IT_Update)清除中断标记,然后使能定时器中断,最后启动定时器;如果使用HAL库,在MX_TIMx_Init函数后紧跟着__HAL_TIM_CLEAR_IT(&htimX, TIM_IT_UPDATE)以此来清除中断标识位。...

2020-11-19 14:13:53 4781 2

原创 freeRTOS 移植到nRF52832 SDK15.3.0 - 环境Keil5

目的:记录FreeRTOS移植过程。把FreeRTOS移植到nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_uart工程,在keil上移植。本身SDK中有一个工程可以做参考:nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_hrs_freertos。1,把nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_hrs_.

2020-09-29 14:07:07 1607 1

原创 Nordic修改设备名

uint32_t err_code;ble_gap_addr_t addr; err_code = sd_ble_gap_addr_get(&addr); APP_ERROR_CHECK(err_code);for(int i = 0;i<BLE_GAP_ADDR_LEN;i++){ printf("%02X",addr.a...

2020-04-13 14:07:11 280

转载 深入浅出低功耗蓝牙(BLE)协议栈

BLE协议栈为什么要分层?怎么理解BLE“连接”?如果BLE协议只有ATT层没有GATT层会发生什么?协议栈框架一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提。在深入BLE协议栈各个组成部分之前,我们先看一下BLE协议栈整体架构。如上图所述,要实现一个BLE应用,首...

2020-04-09 15:03:17 366

原创 stm32之ADC多通道连续采集

CubeMx配置1、CubeMx选择多个ADC通道2、设置通道外设3、打开ADC的DMA,并打开中断4、生成工程在main.c文件中添加uint16_t aResultDMA[4]; //存放采集到的ADC数据//在main()函数中添加 /* ### - 2 - Start calibration #############...

2020-03-26 12:07:24 9386

原创 STM32之串口DMA中断

定义变量uint8_t aTxBuffer[100]; //存放要发送的字符串uint8_t aRxBuffer[100]; //存放接收到的字符串uint8_t usRxLen; //实际接收到的数据长度uint8_t Rx_flag; //接收到数据时置1在main函数中清idle标志位,并且开中断HAL_UART_Re...

2020-03-25 17:18:42 1167

原创 linux板子如何判断网络连接是否正常

bool NetlinkStatus::GetNetStat(){ char buffer[BUFSIZ]; FILE *read_fp; int chars_read; bool ret; memset( buffer, 0, BUFSIZ ); read_fp = popen("ifconfig eth0 | grep RUNNING", ...

2019-10-28 14:49:52 1027

转载 C语言中lseek()函数和fseek()函数的使用详解

C语言lseek()函数:移动文件的读写位置头文件: 1 #include <sys/types.h> #include <unistd.h> 定义函数: 1 off_t lseek(int fildes, off_t offset, int whence); 函数说明:每一个已...

2019-10-26 15:17:33 584

转载 QT对话框中show和exec的区别

QDialog的显示有两个函数show()和exec()。他们的区别在参考文档上的解释如下:show():显示一个非模式对话框。控制权即刻返回给调用函数。弹出窗口是否模式对话框,取决于modal属性的值。exec():显示一个模式对话框,并且锁住程序直到用户关闭该对话框为止。函数返回一个DialogCode结果。在对话框弹出期间,用户不可以切换同程序下的其他窗口,直到该对话框被关闭。从...

2019-10-10 17:18:54 460

原创 QT学习之TCP、UDP

TcpClient:1、需要的槽函数void frmTcpClient::initForm(){ isOk = false; tcpSocket = new QTcpSocket(this); connect(tcpSocket, SIGNAL(connected()), this, SLOT(connected())); connect(tcpSock...

2019-09-30 10:06:07 258

转载 STM32笔记:读写内部Flash

stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同。RAM起始地址是0x2000 0000,结束地址是0x2000 0000加上芯片的RAM大小。不同的芯片RAM也不同。Flash中的内容一般用来存储代码和一些定义为const的数据,断电不丢失,RAM可以理解为内存,用来存储代码运行时的数...

2019-09-24 10:00:14 456

原创 初学html之——所有css文本属性

属性 描述 color 设置文本颜色 direction 设置文本方向。 letter-spacing 设置字符间距 line-height 设置行高 text-align 对齐元素中的文本 text-decoration 向文本添加修饰 text-indent 缩进元素中文本的首行 text-shadow 设置...

2019-09-18 17:36:30 107

原创 初学html之——速查列表

HTML基本文档<!DOCTYPE html><html> <head> <title>文档标题</title> </head> <body>可见文本</body></html>基本标签<h1>最大的标题</h1...

2019-09-18 16:08:49 318

原创 Qt获取本机的ip地址、MAC地址

方法1:获取ip地址:QString getHostIpAddress(){ QString strIpAddress; QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses(); // 获取第一个本主机的IPv4地址 int nListSize = ipA...

2019-09-09 13:40:10 1867

转载 Qt5 对xml文件常用的操作(读写,增删改查)

项目配置pro文件里面添加QT+=xmlinclude <QtXml>,也可以include <QDomDocument>项目文件:.pro 文件QT += core xml QT -= gui TARGET = xmltestCONFIG += consoleCONFIG -= app_bundle T...

2019-08-12 20:11:22 696

转载 完全自定义QMessageBox样式

1、综述Qt大佬:一去、二三里的自定义QMessageBox上述链接的窗体继承于大神的自定义Widget,我这里稍作修改,继承于QDialog方便了使用,这里可以任意实现QMessageBox的样式而不受系统约束(设置setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);后可自定义标题栏)自定义QMessageBox窗体结构示意:...

2019-08-07 11:14:48 5788 3

转载 ubuntu14.04安装arm版QT4.8.6(QtEmbedded-4.8.6-arm)并移植到开发板

本人在编译QT库时遇到了很多问题,偶然发现遇到的问题在此博客中都有提及。参考博客:https://blog.csdn.net/hhhhh89/article/details/53888523准备:下载qt-everywhere-opensource-src-4.8.6.tar.gz并复制到ubuntu目录中1、进入存放qt源码的目录解压源码包tar xzvf qt-everywh...

2019-08-06 09:38:42 940

原创 QT arm播放音频

void SetEquiptestQualityVoice::on_tableWidget_voice_itemDoubleClicked(QTableWidgetItem *item){ QString soundaddr = item->text(); QString soundpathtemp = currpath + soundaddr; SoundPla...

2019-08-02 11:40:56 849

原创 显示、隐藏鼠标箭头

显示鼠标箭头:QWSServer::setCursorVisible(true);隐藏鼠标箭头:QWSServer::setCursorVisible(false);

2019-08-02 11:32:24 2550 2

原创 QString转换QByteArray(char*)时中文问题解决方案

QString To Char* :char* TT::StringToChar(QString str){ char *chStr = NULL; QByteArray ba = str.toLocal8Bit(); chStr = (char *)malloc(ba.length() + 1); memset(chStr,0,ba.length());...

2019-07-30 08:57:46 985

原创 QT获取网页上的信息(json格式)

在.pro文件中添加QT += network#ifndef MYHTML_H#define MYHTML_H#include <QWidget>#include <QNetworkRequest>#include <QNetworkReply>#include <QNetworkAccessManager>#include...

2019-07-30 08:47:57 621

原创 QT判断指定目录下的文件类型

判断是否为一个文件:QFileInfo fileinfo(文件绝对路径);fileinfo.isfile();这里返回一个布尔值,如果这个对象指向的是文件或者是文件符号,那么返回真,若不是,比如是个目录,那么就返回假.同理,判断是否为一个文件夹:QFileInfo fileinfo(文件绝对路径);fileinfo.isdir();获取文件后缀名:QString fil...

2019-07-26 14:16:24 1649

原创 QT设置背景透明度

1.将页面UI设置成栅栏布局。2.将栅栏变形为QFram,再改变样式表background-color: rgba(252,252,252,70%);//70%为透明度3.将页面内控件改变样式表,设为透明background-color: rgba(200,200,200,0);...

2019-04-30 17:05:51 5597

转载 ubuntu snmp 安装与移植

一、net-snmp-5.7.3配置编译安装1.确定Ubuntu系统在arm检查编译环境下。2.下载net-snmp-5.7.3源码包net snmp的源码包可以到 net-snmp官网上去下载。也可以到sourcefroce(http://downloads.sourceforge.net)上去下载。3.解压net-snmp源码包,并进入到net-snmp-5.7.3文件夹。可...

2019-04-23 10:16:32 2394 1

转载 Qt中Spinbox,DateTimeEdit等控件样式表:箭头在左右两边QSS代码示例

/*spinbox 抬起样式*/QDateTimeEdit::up-button,QTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button {subcontrol-origin:border; subcontrol-position:right; image: url(:/image/add.png); widt...

2019-04-13 15:41:43 2622

原创 Linux 文件拷贝功能

//选择需要copy的文件void setnavigation::on_btn_udask_filechoose_clicked(){ QString temp_udask_filenames; QStringList udask_target_filenames =QFileDialog::getOpenFileNames(this,tr("udask_filenamech...

2019-03-30 15:33:02 168

原创 QTableWidget详细使用(日志显示——执行Linux命令,在tablewidget中显示)

1.初始化tableWidgetvoid setnavigation::init_log_list(){ int width = ui->tableWidget_log_list->width(); //设置3列 ui->tableWidget_log_list->setColumnCount(3); //设置列宽 ui-&g...

2019-03-30 15:28:18 799

转载 QT给控件QLineEdit添加clicked()事件方法

做Qt开发的会知道QLineEdit是默认没有clicked事件的,但是Qt有很好的一套信号/槽机制,而且Qt是基于C++面向对象的思想来设计的,那么我们就很容易通过自己定义一些类,重写QLineEdit的一些方法去实现没有的方法,比如clicked事件.本人就以QLineEdit 添加clicked事件来说明.  Qt里面有个关键字emit,这个关键字意思就是触发一个信号,具体emit更详细...

2019-03-21 17:27:01 6053

原创 Qt5.9+tslib1.4移植

先移植TSLIB1、安装前的准备工作:再root模式下安装下面软件。# apt-get install autoconf# apt-get install automake# apt-get install libtool2、下载tslib源码3、配置# ./autogen-clean.sh# ./autogen.sh# echo "ac_cv_func_mall...

2019-03-01 09:48:31 1794

转载 QT之文件读写操作

IO操作的主要函数接口打开设备:bool open(OpenMode mode)读取数据:QByteArray read(qint64 maxSize)写入数据:qint64 write(const QByteArray &amp; byteArray)关闭设备:void close()IO操作的本质是连续存储空间的数据读写QT中IO设备的继承类图:QFile Cl...

2018-12-29 15:08:10 1099

转载 QApplication类参考

主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 QApplication类参考QApplication类管理图形用户界面应用程序的控制流和主要设置。 详情请见……#include &lt;qapplication.h&gt;继承了QObject。被QXtApplication继承。所有成员函数的列表。公有成员 QAppli...

2018-12-28 16:13:25 268

转载 QApplication的用法

QApplication管理GUI程序的控制流和主要设置。QApplication包含窗口系统和其他来源处理过和发送过的主事件循环。它也处理应用程序的初始化和收尾工作,并提供对话管理。QApplication可以对系统和应用的大部分设置项进行设置。对于用Qt写的任何一个GUI应用,不管这个应用有没有窗口或多少个窗口,有且只有一个QApplication对象。而对于用Qt写的非GUI应用...

2018-12-28 15:56:10 44156 2

转载 Qt之QFileInfo

QFileInfo的几个构造函数:QFileInfo()QFileInfo( const QString &amp; file )QFileInfo( const QFile &amp; file )QFileInfo( const QDir &amp; dir, const QString &amp; file )QFileInfo( const QFileInfo &am...

2018-12-28 14:05:31 256

转载 Qt之Qprocess

QProcess,可用于完成外部程序,并与之交互通信。一、启动外部程序的两种方式1)一体式:void QProcess::start(const QString &amp; program,const QStringList &amp;arguments,OpenMode mode = ReadWrite)    外部程序启动后,将随主程序的退出而退出。2)分离式:void QProc...

2018-12-28 11:30:05 437

空空如也

空空如也

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

TA关注的人

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