- 博客(41)
- 资源 (6)
- 收藏
- 关注
原创 移远CAT1模组OPENCPU开发:配置程序空间
2、根据模组闪存容量以及是否使用volte功能选择对应文件,如“partinfo_8850_8m_opencpu_novolte.json”文件,表示8850芯片,8M flash容量版本,opencpu开发,不开启volte功能的固件的固件分区文件。比如如果需要比较大的文件系统,则可以缩小APP_IMG的空间,增加文件系统的占用空间。表示APP_IMG的起始地址和占用空间,这个部分是开发者自己编写的程序占用的区域。分配后,注意要修改前面文件系统区域的配置,将两者起始地址和空间修改为一致的,如下。
2024-08-02 11:03:46 392
原创 ICM-42607六轴传感器WOM模式配置
ICM-42607支持配置WOM模式,检测到加速度变化后在中断引脚触发跳沿信号。3、尝试初始化芯片,并调用函数配置芯片进入WOM模式。至此完成六轴芯片的WOM(震动检测)模式的初始化配置。2、配置WOM模式的寄存器函数。
2024-06-14 17:49:46 744
原创 移远CAT1模组OPENCPU开发:添加工程
LTE01R02A02_C_SDK_G\components\ql-application\init\ql_init.c文件内的int appimg_enter(void *param)函数内部,添加业务逻辑,如创建一个任务。1、SDK路径下,如LTE01R02A05_C_SDK_U\components\ql-application目录下新建一个工程文件夹,在文件夹内加入C文件和h文件以及CMakeLists.txt文件,如图。6、在ql_init文件中添加项目文件初始化函数。4、配置项目编译宏参数。
2024-06-14 17:48:59 771
原创 BLE芯片DA145XX系列:HOGP功能实现
DA145XX协议芯片支持配置HOGP功能。即模拟蓝牙键鼠之类的设备,实现和手机绑定后,靠近设备手机自动回连设备的功能。实现HOGP功能需要对默认SDK做特殊配置,具体流程如下:
2024-06-04 14:48:26 1196
原创 BLE芯片DA145XX系列:配置SDK支持多连接
Dialog的DA145XX系列BLE芯片可以配置允许多连接,需要修改SDK,下面主要说明如何实现多连接配置。1、新增宏定义:__EXCLUDE_ROM_APP_TASK__用于取消ROM里关于APP部分函数的调用,改为使用自定义的函数
2024-06-04 11:48:35 543
原创 BLE芯片DA145XX系列:自定义GATT服务配置
Dialog的BLE芯片可以配置通用GATT服务以及自定义GATT服务,下面主要说明如何实现GATT服务的配置、GATT数据收发、配置BLE单次发送最大数据包MTU。
2022-07-09 12:37:30 1150 2
原创 BLE芯片DA145XX系列:OTP读写、OTP Header
Dialog的BLE芯片基本都有OTP(One-Time-Programmable)存储器,即一次性写入的存储器,一旦写入之后,就无法修改。如DA14531,有32KB的OTP存储器。主要用来写入固化程序和保存一些重要的出厂参数。下面主要说明如何读写OTP存储器,以及OTPHeader的功能。1、使用官方提供的toolbox来使用可视化界面写入OTP2、程序中读写OTP3、OTP Header作用
2021-12-25 10:43:08 2261
原创 BLE芯片DA145XX系列:GPIO特殊配置
本文主要是dialog 的BLE芯片DA145XX的GPIO相关配置,适用于DA145XX系列芯片,如DA14531。1、硬件复位脚配置为GPIOP0_0默认为硬件RST,可以配置HWR_CTRL_REG寄存器屏蔽硬件复位脚,将其作为GPIO功能,否则P0_0无法正常使用。通过SDK里的库函数可以设置屏蔽或者恢复硬件复位脚P0_0。2、DEBUG脚配置为GPIOP0_2为SWCLK,P0_10为SWDIO,这两脚默认是输入,需要关闭DEBUG才能作为普通GPIO使用
2021-12-07 11:15:57 2648
原创 Linux常用快捷键
命令行终端快捷键:CTRL+ALT+T 开启命令行终端 CTRL+D 关闭当前命令行终端 CTRL+win图标键 +向上方向键 命令行终端最大化 CTRL+win图标键 +向上方向键 命令行终端窗口化 CTRL+SHIFT+加号键 命令行终端字体放大 CTRL+减号键 命令行终端字体缩小 CTRL+L 清屏 CTRL+C 终止当前任务 CTRL+Z 将当前任务放置后台 CTRL+P 向上显示缓..
2021-10-24 16:37:24 131
原创 W5500以太网控制器芯片(六):实现PING服务
#W5500以太网控制芯片相关文章链接#上一篇:W5500以太网控制器芯片(五):实现FTP客户端PING使用的是ICMP的协议,使用时最好先了解一下。下面实现一下使用w5500来ping外网的指定ip设备的流程。注意需要包含官方ioLibrary库的w5500和socket文件,具体可以参考本系列前面的文章,当然也可以自己实现上面调用的函数。头文件:#ifndef _PING_H_#define _PING_H_#include "w5500.h"#include "w5500
2021-09-04 09:11:10 2698 6
原创 W5500以太网控制器芯片(五):实现FTP客户端
#W5500以太网控制芯片相关文章链接#上一篇:W5500以太网控制器芯片(四):实现DNS功能使用w5500通过以太网口可以实现FTP功能。首先要了解FTP的基本命令和通讯方式。FTP的本质是TCP连接,所以我们要实现一个TCP客户端,然后实现一些指定的FTP命令的发送和解析。FTP基本命令:命令 描述 ABOR 中断数据连接程序 ACCT <account> 系统特权帐号 ALLO <bytes> 为服务器上的文件存储器分配字
2021-08-24 10:26:27 3026 2
原创 W5500以太网控制器芯片(四):实现DNS功能
#W5500以太网控制芯片相关文章链接#上一篇:W5500以太网控制器芯片(三):实现DHCP服务使用W5500时,如果要连接的是域名,则连接TCP服务器前将要域名转成IP再进行连接,这时候就要用到DNS功能。...
2021-07-24 12:40:42 2131 1
原创 W5500以太网控制器芯片(三):实现DHCP服务
#W5500以太网控制芯片相关文章链接#上一篇文章:W5500以太网控制器芯片(二):ioLibrary库实现TCP客户端如果要W5500的IP动态分配,则要实现DHCP功能,实现流程如下:准备工具(和上篇一致):a、电脑上装一个网络调试工具,做TCP服务器用b、一个路由器,后面电脑和W5500都要接到路由器上c、W5500+支持SPI接口的MCU或者SOCd、官方的ioLibrary库文件1、移植驱动除了之前引入的文件,还要将固件库里Internet文件夹下的DHCP文件夹的文件引
2021-07-15 09:58:41 4922 3
原创 W5500以太网控制器芯片(二):ioLibrary库实现TCP客户端
#W5500以太网控制芯片相关文章链接#上一篇文章:W5500以太网控制器芯片(一):ioLibrary库实现TCP服务器前面已经通过移植官方的ioLibrary库实现了TCP回环测试(W5500做tcp服务器),下面我们来实现W5500做TCP客户端,连接远程的TCP服务器。准备工具:a、电脑上装一个网络调试工具,做TCP服务器用b、一个路由器,后面电脑和W5500都要接到路由器上c、W5500+支持SPI接口的MCU或者SOCd、官方的ioLibrary库文件(上一篇文章中说明了下.
2021-07-13 10:29:40 2110 1
原创 W5500以太网控制器芯片(一):ioLibrary库实现TCP服务器
W5500 芯片是一款集成全硬件TCP/IP 协议栈的嵌入式以太网控制器,同时也是一颗工业级以太网控制芯片。W5500 支持高速标准4线SPI接口与主机进行通信,该 SPI 速率理论上可以达到 80MHz。其内部还集成了以太网数据链路层(MAC)和10BaseT/100BaseTX 以太网物理层(PHY),支持自动协商(10/100-Based全双工/半双工)、掉电模式和网络唤醒功能。与传统软件协议栈不同,W5500内嵌的8个独立硬件 Socket 可以进行8路独立通信,该8路Socket的通信效率互..
2021-07-12 16:36:29 4363 4
原创 QT实现HTTP请求示例
***QT相关文章***一、导入HTTP相关头文件#include <QNetworkRequest>#include <QNetworkReply>#include <QNetworkAccessManager>二、创建请求1、创建请求驱动,并创建一个请求触发后的回调事件槽。 QNetworkRequest request; QNetworkAccessManager* naManager = new QNetworkAccessM
2021-07-06 10:47:39 2336
原创 QT实现串口调试助手(八):HEX与字符串格式处理
上一篇:QT实现串口调试助手(七):字体设置面板创建及窗体间传值串口工具一般都会有HEX格式的收发处理,现在我们来给串口工具添上这一功能。这主要分为两类,一类是把串口工具收到的HEX格式数据,以十六进制字符串回显到接收面板。另一类是把发送面板上的十六进制字符串,转为HEX格式数据发送出去1、接收数据处理原先我们已经在主界面添加了HEX发送和接收框了,没有添加的话,添加一个即可然后更改一下原先的接收处理函数即可。//填入接收数据到面板void MainWindow::insertDataT
2021-06-26 10:25:23 8289 1
原创 BLE芯片DA145XX系列:BOOT启动时写入程序的实现
Dialog的BLE芯片很多都支持通过通讯接口在BOOT中写入程序,然后加载在RAM中运行。之所以这么做,主要是考虑芯片本身只有OTP的FLASH,升级通常通过外挂SPI的FALSH完成。但是考虑到成本问题,如果条件满足,完全可以将程序放在外挂的MCU里,每次上电启动时将程序写入,也可以起到相同的作用,同时BLE芯片的程序受控性更好,降低程序无法恢复的风险。下面是DA14531的BOOT启动描述和使用方法:一、启动方式二、启动时间三、通讯示例四、解决复位问题
2021-06-03 11:39:33 1163
原创 QT实现串口调试助手(七):字体设置面板创建及窗体间传值
上一篇:QT实现串口调试助手(六):页面布局一般串口调试工具都有修改串口接收框字体的功能面板,我们也来加一个:1、先创建一个字体设置面板比如我们创建一个widget,命名为letterFormWindow类,QTcreator会自动生成.cpp、.h 和.ui文件2、在UI界面添加一些组件,如图:3、现在先回到主界面的文件编写,在主界面命令栏里添加一个快捷按钮QMenuBar *menuBar = ui->menuBar;QAction *lett...
2021-03-27 15:57:24 2472 3
原创 华大HC32F系列MCU的IAP流程及示例
本文以HC32F072为例。华大的MCU的IAP的方式和流程基本和1、准备两个工程,1个BOOT,1个APP
2021-03-26 12:03:14 6436 7
原创 QT建立数据库连接、增删改查示例
下面主要是对mysql数据库的操作,其它的数据库操作其实也类似:1、在.pro文件中加入QT+= sql,如下图:2、添加SQL相关头文件#include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>3、连接数据库 qDebug()<<QSqlDatabase::drivers(); //查询支持的sql对象,下面调用的数据库实例QMYSQL就是从.
2021-03-02 12:03:41 2499
原创 QT实现串口调试助手(六):页面布局
工程源码:https://github.com/zhangfls/QT_UartAnalysisTool上一篇:INI文件存取串口信息之前没有设置页面布局,当进行放大缩小时,组件的位置还是保持原样,这样很不实用。所以要调整一下页面和组件布局1、添加horizontalLayout水平布局,将页面的组件分成3个部分:比例设置成1:6:3,当然想调成什么比例随意的2、对于中间部分的内容,使用gridLayout分成3行2列比例通过layoutRowStretch...
2021-01-09 13:10:01 1772
原创 STM32通过IAP实现固件升级的分析与示例
大部分MCU都可以通过IAP对片内flash进行读写来实现固件升级。这里主要是STM32如何实现IAP升级。不同内核的stm32方式可能略有不同.这里先说F1内核的IAP过程,这里以STM32F103C8T6做示例一、片内FLASH读写实现IAP,首先要实现片内FLASH读写1、擦除程序区,调用库函数FLASH_ErasePage可以按页做擦除int FlashErase(uint32_t addr){ uint8_t retry_time; uint8_t i; .
2020-12-26 09:18:49 4059 1
原创 QT实现串口调试助手(五):ini文件存取串口信息
上一篇:QSS设置主题、添加快捷命令列表一般串口调试工具需要保存基本信息,这样重新打开后可以继续加载之前的配置,这里我们使用ini文件来读取保存串口参数。一、创建ini文件在某个目录添加一个后缀为ini的文件(最好是程序根目录),比如名为param.ini二、ini文件格式一般ini文件格式是类似下图的1、【】方括号可以配置一个分类,分类下可以配置属性2、属性的左值为属性名,右值为属性值三、读写ini文件1、添加头文件#include <QSettin
2020-12-17 11:36:56 2600 3
原创 QT实现串口调试助手(三):保存日志、QSS样式载入
上一篇:QT实现串口调试助手(二):https://blog.csdn.net/zhangfls/article/details/109593287
2020-11-20 11:16:43 3748
原创 QT实现串口调试助手(二):实现基本串口功能
一、导入库1、在项目.pro文件中加入serialportQT += core guiQT += serialport2、引入qt中串口通信需要的头文件#include <QtSerialPort/QSerialPort>#include <QtSerialPort/QSerialPortInfo>二、配置串口初始化1、查找可用的串口。通过创建一个comobox,将可用串口的列表展示出来,并用于配置时选择要连接的串口
2020-11-10 11:24:43 6987 4
原创 vmware虚拟机与主机共享文件夹
1、安装vmware tool2、设置共享文件夹3、检查共享文件夹目录共享目录默认挂载在 /mnt/hgfs/ 目录下,检查目录是否更新注意:存在vmware tool 没有安装,但是无法重新安装的情况:检查虚拟机磁盘是否已经挂载,可使用ISO镜像挂载安装...
2020-10-24 13:30:45 634
原创 stm32 硬件IIC使用方法说明与示例---LIS3DH的IIC通信
出于某些原因,我们可能需要MCU进行速率较高的IIC总线通信,一般stm32的IIC默认传输速率是100kpbs,最大为400kpbs。现在大部分项目会使用程序IO模拟的IIC,使用方便,具体网上例子很多。这里我需要使用LIS3DH三轴加速度传感器,获取三个方向的加速度用于碰撞检测。这个是LIS3DH数据刷新速率的配置寄存器:出于某些原因,我需要达到500hz以上的数据刷新速率,所以ODR要配置成0b1000,三轴芯片输出1.6khz速率的加速度信息。因为一条信息包含x、y、z个字节的数据,
2020-10-14 18:22:41 10267 3
原创 QT实现串口调试助手(一)
一、安装QTCreator二、如果如果没有特殊编译器要求,可以直接使用自带的MinGW的32位编译器,也可以安装Visual Studio配置使用它的编译器,可以编译64位的。编译器会自动检测的,建议先安装Visual Studio,QT安装时会自动识别到...
2020-10-12 11:53:07 7291 3
原创 LIS3DH 三轴加速度传感器使用流程及示例
LIS3DH是一个三轴震动传感器,可用于检测X、Y、Z轴上的加速度,以及设置阈值,在加速度超出阈值时触发中断。支持SPI和IIC读写。下面主要是IIC方式读写:一、寄存器读写流程首先硬件连接会决定该模块的IIC地址如果SAO脚接地,IIC地址为0X30(不包含最低位).如果接V3.3,则IIC地址为0X32(不包含最低位).这个器件地址很重要,因为读写寄存器都是要先写一下对应的器件地址,然后再写命令的注意先发送的器件地址只是前7位,最后一位决定的是读写位,0是写寄存器,1为读寄存器,
2020-10-12 10:57:20 17268 5
原创 vue环境下使用百度地图组件
一、使用vue-baidu-maphttps://dafrok.github.io/vue-baidu-map/#/zh/start/installationnpm安装后npm i --save vue-baidu-mapimport即可使用import Vue from 'vue'import BaiduMap from 'vue-baidu-map'Vue.use(BaiduMap, { // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.ba
2020-09-28 09:39:33 1142
原创 socket.io 客户端与服务器应用
客户端应用这里主要讲vue的应用1、npm安装vue-socket.io2、main.js里引入import VueSocketIO from 'vue-socket.io'Vue.use(new VueSocketIO({ debug: true, connection: process.env.NODE_ENV === 'development' ? 'http://localhost:7178' : 'http://xx.xx.xx.xx:7178', vuex: {
2020-09-27 15:25:40 3264
原创 python AES算法 加密解密
from Crypto.Cipher import AESfrom binascii import b2a_hex, a2b_hex###强制输入明文增加到16字节的倍数,在末尾补'\0'def add_to_16(text): text = str(text,'ISO-8859-1') if len(text.encode('ISO-8859-1')) % 16: add = 16 - (len(text.encode('ISO-8859-1')) % 16) .
2020-09-27 14:25:13 546
原创 C语言 AES算法 加密解密
C语言 实现 AES 128 位加密解密1、调用函数#include "stdio.h" #include "stdlib.h"#include <string.h>#include "aes.h"extern OL_APITABLE_T *AP_interface;typedef struct{ uint32_t eK[44], dK[44]; // encKey, decKey int Nr; // 10 rounds}AesKey;#d
2020-09-27 14:04:04 3755 1
原创 JAVA AES算法 加密解密
以下为JAVA实现的 AES算法 CBC模式 PKCS5Padding 加密解密1、加密 public static byte[] encrypt(byte[] sSrc,byte[] sKey,byte[] sIv) throws Exception { SecretKeySpec sKeySpec = new SecretKeySpec(sKey, "AES"); //配置算法为AES、CBC模式、PKCS5Padding补码 Cipher
2020-09-27 13:46:09 601 1
原创 openssl 生成pkcs8 格式 的 SSL证书
openSSL 本地 创建pkcs8 格式SSL证书流程windows:命令行方式创建1、生成CA证书//创建CA PSCK1私钥openssl genrsa -out ca/ca-key1.pem 1024//CA PSCK1转PSCK8私钥openssl pkcs8 -topk8 -inform PEM -in ca/ca-key1.pem -outform pem -nocrypt -out ca/ca-key.pem//CA私钥 创建CSR请求(此处会要求证书相关信息参
2020-09-22 15:24:27 2908
原创 window环境下配置FTP文件服务器
FTP文件服务器配置有主动模式和被动模式两种,这里主要是被动模式配置一、FileZilla Server配置1、设置被动模式端口传输范围,一般FTP被动模式传输端口在1024-65535之间,filezilla没有做额外限制,这个范围内的区间都可以设置2、设置使用指定IP,填入服务器外网IP,如下图红圈内。3、务必开放服务器对应TCP端口通道,如下图设置50101-50200,要确保防火墙未把指定端口关闭,且服务器外网也没有屏蔽指定端口,云服务器如阿里云等,要在配置安全组里放开指定范围内的端口
2020-09-22 13:54:54 2745
原创 netty实现TLS/SSL双向加密认证
1、双向加密认证首先要获取到证书,可以先自己生成证书用于测试(实际获取到的公网证书使用方式其实差不多)(1)可以通过openssl生成证书(2)首先要生成一份CA根证书,再由该证书生成服务器和客户端的证书(3)完成基本的SSL/TLS服务器和客户端的双向加密通讯,一共需要生成5份证书 ①CA证书 ②服务器证书 ③服务器密钥 ④客户端证书 ⑤客户端密钥(4)、一般证书有多种格式,这里我们用pem格式做示例(linux系统常用)2、假设...
2020-09-21 16:14:28 5456
tomcat9安装包
2020-09-27
JDK 8u202 window 安装版本
2020-09-25
netty实现SSL/TSL双向加密认证示例
2020-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人