- 博客(54)
- 收藏
- 关注
原创 蓝牙CCCD客户端特性配置描述符
定义:CCCD是一种特殊的蓝牙描述符,用于配置BLE设备中特性的通知(Notification)或指示(Indication)功能。功能:通过向CCCD写入特定的值,客户端可以启用或禁用对某个特性的通知或指示功能。这允许BLE设备在数据发生变化时,主动向客户端发送更新,而无需客户端不断轮询设备以检查数据是否发生变化。
2024-10-17 13:57:43 300
原创 逻辑分析仪分析I2C SlaveAddr时产生的疑惑
分析发现逻辑分析仪I2C协议解析有关于slave address display format选项,选shift时, slave address为。所以,当选shift时,取前7位:“1010 100”,shift后为“0101 0100”,即 slave address为。I2C slave address为地址字节的D7-D1位,D0位表示是读(‘0’)还是写(‘1’)。使用逻辑分析仪分析协议时,显示其 slave address为。,选unshift时为。,选unshift时为。
2023-08-21 15:41:31 391
原创 华大MCU固件加密研究
由于上面使能了数据加密,此时不能用离线烧录器烧录成功。用J-Flash erase chip后,再烧入即可。经比对.config文件中固件内容仍为明文。经烧录后,程序正常运行。文件加密后,前面的数据基本一样,后面全部被加密。先是一串可读的配置相关内容,后面跟固件内容。
2022-11-07 14:58:15 997
原创 软件开发相关工具汇总
1. DoxygenGenerate documentation from source codehttps://www.doxygen.nl/index.html2. PlantUMLPlantUML是一个可以快速编写UML图的组件https://plantuml.com/zh/
2022-06-24 10:45:46 140
原创 移远DTU调试笔记
一、透传方式mqtt透传报文:在UART2 串口发送数据时,使用格式:<topic_id>,<msg_len>,<crc32>,<msg_data>0,6,2584251182,ijklmn(注意,不要用引号)topic_id与.json文件中配置的发布主题ID号一致。...
2022-05-09 19:09:57 254
原创 个人常用命令等汇总
python build.py ipcamera_hi3516dv300 -b debug\\192.168.94.128\Publichttp://192.168.94.128:18083(emqx登录)http://127.0.0.1:1880/ (node-red本地进入编辑)http://192.168.94.128:1880/(node-red登录进入编辑)http://192.168.94.128:1880/ui (node-red查看布署的ui界面)./bm set -s di.
2022-05-06 22:05:23 85
原创 通过umqtt库连接使用EMQX云平台步骤
请参阅官方文档:https://docs.emqx.com/zh/cloud/latest/quick_start/introduction.html
2022-04-28 11:25:50 636
转载 C++开发知识点
const_castconst_cast是一个基于C语言编程开发的运算方法,其主要作用是:修改类型的const或volatile属性。使用该运算方法可以返回一个指向非常量的指针(或引用)指向b1,就可以通过该指针(或引用)对它的数据成员任意改变。:const_cast<type_id> (expression)该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。一、常量指针被转化成非.
2022-04-12 14:48:41 178
原创 QT概览之1-Qthread
需要实现虚函数run()The thread does not begin executing until start() is called.start() begins execution of the thread by calling run().run() The starting point for the thread. After calling start(), the newly created thread calls this function. The default im.
2022-04-08 13:44:25 102
原创 如何用docker搭建编译环境
一、查看sh,将sh指向bashroot@9df73602a1a4:/opt/win# ls -l /usr/bin/shlrwxrwxrwx 1 root root 4 Jul 18 2019 /usr/bin/sh -> dashroot@9df73602a1a4:/opt/win/# rm /usr/bin/shroot@9df73602a1a4:/opt/win/# ln -s /usr/bin/bash /usr/bin/shroot@9df73602a1a4:/opt/win/
2022-03-18 22:16:44 1773
原创 编译QT APP时,提示“bash: ./moc: No such file or directory”的解决办法
编译QT APP时,总是编译不过。使用bash -x跟踪编译脚本,发现在执行./moc编译指令时出错单独执行./moc编译指令: /usr/bin/moc TcpClient.h >> ..moc_TcpClient.cppbash: /usr/bin/moc: No such file or directory因为是可执行程序,怀疑是缺少相应动态链接库,使用ldd命令查询root@88f0e1b828f9:# ldd /usr/bin/moc not a dyna
2022-03-18 15:12:54 1875
原创 Docker常用命令汇总
Docker常用命令汇总创建容器-挂载目录 ,docker run -it -v /e/UbuntuShare:/opt/win/ --name ubuntu_tcu chenqh023/ubuntu_tcu:0.0.1 /bin/bash
2022-03-15 15:09:00 340
原创 shell执行自动编译脚本时,提示“no such file or directory”的解决办法
一般情况下,出现这种情况是因为shell脚本保存为了windows下的DOS格式。在windows上编辑好sh后到linux下运行时常会出现“no such file or directory”,这一般是格式的问题,改成unix格式就可以,具体步骤如下:用vi打开文件:vi 文件名按‘:’号键,输入查看文件的格式命令set ff或set fileformat显示为:fileformat=dos,表明保存为了DOS格式。再按‘:’键输入set ff=unix 或 set fileforma
2022-02-21 22:06:01 9154 1
原创 用sourcetree从头添加gitee账号拉取仓库
1.使用以下命令生成 SSH Key:$ ssh-keygen -t rsa -C “youremail@example.com”2.成功的话会在 ~/ 下生成 ~/.ssh/id_rsa.pub,打开 id_rsa.pub,复制里面的 key,添加到gitee网站。3.用gitbash切换到想要保存仓库的目录。4.git clone git@gitee.com:xxxx/xxxx.git5.clone完后,用sourcetree打开仓库工作目录即可。...
2022-01-20 22:32:56 2845
转载 使用脚本(命令行)编译KEIL工程
参考KEIL官网http://www.keil.com/support/man/docs/uv4/uv4_commandline.htmKeil_Build.bat脚本@echo offset UV=D:\Keil_v5\UV4\UV4.exeset UV_PRO_PATH=F:\source\systick\Keil_5\systick.uvprojxecho Init building …echo .>build_log.txt%UV% -j0 -r %UV_PRO_PATH% -
2021-12-23 10:12:43 2094
原创 Keil编译设置里的“fromelf.exe --bin -o “$L@L.bin“ “#L“到底什么意思?
% File name with extension (PROJECT1.UVPROJ)·# File name with extension and complete path specification (C:\MYPROJECT\PROJECT1.UVPROJ)@ File name without extension or path specification (PROJECT1)$ Path name of a file. Path names get extended w.
2021-12-23 09:29:23 3991
原创 __attribute__((packed))
struct str_a{ uint8_t a; uint32_t b; uint8_t c[1];};printf("str_a:%d\n",sizeof(struct str_a)); struct str_b{ uint8_t a; uint32_t b; uint8_t c[1];} __attribute__((packed));printf("packet str_b:%d\n",sizeof(struct str_b));k
2021-10-14 09:47:55 293
原创 bitbucket代码仓服务器端项目名称变更后,本地代码仓与远程同步失败问题解决。
1、查询bitbucket代码仓服务器端项目名称变更后的网业地址:https://bitbucket.org/apac_eco_system/xxx-project/commits/"xxx-project"为修改后新的项目名称2、本地端,打开原对应项目,点右上角设置按钮。双击远程仓库路径进行编辑。在最后修改新的项目名称。https://rulaifinger@bitbucket.org/apac_eco_system/xxx-project.git点击确定后,即将本地代码仓与改名后的代码
2021-08-12 09:41:01 343
原创 不使用、使用ARM C microlib的编译结果
1 不使用ARM C microlib的编译结果:2 使用ARM C microlib的编译结果:
2021-07-30 10:44:32 224
原创 Keil自动编译生成、合并hex、bin文件
一、生成hex、bin文件生成hex文件就不用多说了,利用keil自带的fromelf.exe工具生成bin文件。C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o ./output/release/app.bin ./output/release/HC32L17X.axf二、合并文件使用srec_cat.exe工具,既可合并hex文件,亦可合并bin文件。利用此功能,可以将bootloader与app文件合并成一个文件,减少生产烧录工序,提高生产效率。
2021-07-29 09:46:16 3311
转载 KEIL生成BIN文件的两种方式
2 输出Bin文件配置KEIL生成bin文件,根据输入命令的相对\绝对路径来分,有两种方式,都是通过自带的fromelf.exe来生成2.1 绝对路径方式绝对路径方式,如果更换电脑等,需要手动修改MDK工具链(formelf.exe)所在路径与项目文件名(例如test_app)“D:\Program Files\MDK516\ARM\ARMCC\bin\fromelf.exe” --bin -o ./obj/test_app.bin ./obj/test_app.axf"2.2 相对路径方式使用
2021-07-27 11:09:49 1534
原创 电风扇调速器原理
电风扇调速器原理: 目前有三种调速器,较老式的叫电抗器,实际上是带抽头的自耦变压器(一般自耦变压器不带抽头),可以改变不同的电压,风扇就有了不同的转速,另一种是电子调速器,是使用可控硅加电位器改变电压,属于无级调速,再有一种就是变频器,它不调整电压,而是改变交流电的频率,也达到了调速的目的,因为电风扇基本上采用交流异步电动机,因此改变频率即可调速。 电风扇调速器类型:调速器有电感式和电子调速式,电感式调速器就是一个可调电感串接在风扇电机电路中,用以改变风扇上的电压降,达到分档调整转速的目的,电子调...
2021-06-22 13:22:35 7788
原创 华大单片机开发总结
1、初始化华大MCU HC32L136K8TA-LQ64 PA05为GPIO时,与PA06一起初始化为输出。实测不具有输出功能。分开初始化时,才正常。
2021-02-24 11:07:56 1903
原创 软件开发相关名词解释
1. NPM (Node.js打包管理工具)NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。2020年3月17日,Github宣布收购npm,GitHub现在已经保证npm将永远免费。2. OpenGLOpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用
2020-12-24 23:11:52 525
转载 搭建NFS服务器。
1、搭建NFS服务器。这里以Ubuntu操作系统为例,说明服务器端设置步骤。安装NFS服务器软件。设置好Ubuntu系统的下载源,保证网络连接好的情况下执行:sudo apt-get install nfs-kernel-server创建用于挂载的目录并设置完全权限mkdir /home/sqbin/nfssudo chmod 777 /home/sqbin/nfs设置和启动NFS server。修改NFS配置文件/etc/exports,添加如下一行:/home/sqbin/nfs *
2020-12-24 21:59:46 138
原创 Linux常用命令
1.sudo apt install(优先) sudo apt-get install Advanced Packaging Tool(APT)简单来说就是:apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。
2020-12-23 09:03:37 106
原创 网络开发相关资源汇总
网络访问ZZRHttp:https://github.com/zzrv5/ZZRHttp中央仓库:https://mvnrepository.com/Jackson:gson:MQTT:如何在鸿蒙系统中移植 Paho-MQTT 实现MQTT协议: https://bbs.elecfans.com/jishu_2000820_1_1.htmlpaho mqtt-c 是基于C语言实现的MQTT客户端,非常适合用在嵌入式设备上。首先下载源码:https://github.com/..
2020-12-21 10:24:55 151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人