- 博客(79)
- 资源 (15)
- 收藏
- 关注
原创 解决蓝牙MAC 地址倒序问题
蓝牙mac地址的显示目前是从nv447里面去读的,原生的逻辑是我们写到nv后,nv里面的逻辑会生成一个倒序的mac地址。这不是系统的BUG.蓝牙地址的显示是遵循Bluetooth的规范.所以写nv后我们上层读出来显示的时倒序的。我们从nv读出来后进行mac地址倒序的操作,这个倒序的操作也是原生的方法。最终上层读出来和写nv的一致。倒叙的方法 le2bd(local_addr);在最后 if (valid_bda)调用。在代码逻辑后 将地址倒序。原生逻辑中有倒序的方法。
2025-06-12 18:47:18
42
原创 【notepad++如何设置成中文界面呢?】
2、在 Notepad++ 的主页面中,找到并点击 Settings(设置),之后选择第一个菜单项 Pregerences(首选项)。5、此时,软件界面就被汉化了,Notepad++ 的界面就变成中文的了,如图。点击底部的关闭按钮,关闭打开的设置窗口。1、找到任意一个文本文件,比如 txt 格式的文件。4、在常规窗口中,点击右侧的 Localization(界面语言),在下拉列表框中找到并选择“中文简体”。3、在首选项窗口中,选择第一项 General(常规)。网上整理资料,实测成功。
2025-05-21 17:55:43
785
原创 Git报错:Another git process seems to be running in this repository
翻译:另一个git进程似乎正在这个存储库中运行,例如 由“git commit”打开的编辑器。请确保所有流程终止,然后重试。如果它仍然失败,一个git进程可能已在此存储库中崩溃:手动删除文件以继续。方法一:找到.git/index.lock文件,直接删除即可;方法三:自己去目录删除这个文件。方法二:执行git命令。
2025-05-20 10:40:03
368
原创 #defined用法
以上所用的宏中:#undef为解除定义,#ifndef是if not defined的缩写,即如果没有定义。此时,我们要检查a是否定义(假设我们已经记不着这点了),或者我们要给a一个不同的值,就加入如下句子。上述语句检验a是否被定义,如果被定义,则用#undef语句解除定义,并重新定义a为200。是条件编译,是根据你是否定义了XXX_XXX这个宏,而使用不同的代码。是用来产生编译时错误信息XXXX的,一般用在预处理过程中;#ifndef a //如果a没有被定义。一般.h文件里最外层的。
2025-05-13 10:37:40
216
原创 Git-忽略规则(.gitignore配置)不生效原因和解决(转载记录)
在使用git和github的时候,之前没有写.gitignore文件,就上传了一些没有必要的文件,在添加了.gitignore文件后,就想删除远程仓库中的文件却想保存本地的文件。可以使用"git rm -r –cached directory"来删除缓冲,然后进行"commit"和"push",这样会发现远程仓库中的不必要文件就被删除了,以后可以直接使用"git add -A"来添加修改的内容,上传的文件就会受到.gitignore文件的内容约束。
2025-04-22 16:23:56
604
原创 JL-KEY加密方式
3.将bat文本中的key文件替换跳,如果没有key想加上就添加上。1.首先找到需要编译的工程固件输出目录。2.之后将需要的key文件放在改目录。
2025-04-08 11:14:10
185
原创 【苹果手机应用删除说明】
如果要把应用数据都删除,选择删除应用,会把应用和数据都删除,但是这里要注意如果应用数据很大的话会慢慢的删除,这里60g大概删了一个小时;苹果手机删除软件是,如果要保留应用数据那就选择卸载,这样之后下回数据还会在。
2025-03-18 14:33:17
156
原创 【手把手教程】Keil5软件5.29汉化教程
找到keil5软件的安装位置,将资料中提供的UV4图标和keil5安装路径下的图标替换。安装完的keil5软件如果写中文注释中文会乱码,所以我们要设置编码格式。打开keil5软件中的编辑->设置,将编码格式设置成GB2312。汉化补丁为了防止丢失:放在博主的资源下载里面,可供下载。
2025-02-26 11:48:47
3227
5
原创 findmy电量显示问题
最新系统好像以为电量显示bug已经关了电量显示这个功能,目前还不确定;有不对的地方可以指点一二;这样不能达到实时精准这个,只能粗略分为100%,30%以上,0以上,0四个档位显示;
2024-12-02 14:45:57
203
原创 注册表损坏导致无法开机?先别急着重装
当然终极方法就是重装系统了,推荐大家使用PE在装好系统、驱动完整、常用软件之后,完整的备份C盘,或者直接全盘备份(win10推荐使用全盘备份,因为除了系统分区还有efi和msr分区),以后出问题或者想要重装了直接再还原即可,如果是固态硬盘速度还快。答案2,Windows的注册表也是一个文件,而且文件是会自动备份的,备份文件目录是(X代表系统盘,通常情况下是C。其实此类故障都比较好解决,若是开机提示XX文件损坏,很简单,找个能正常开机的电脑拷贝对应的文件到对应的位置就好,需要注意系统要一致。
2024-11-22 15:53:10
801
原创 一篇文章教会C语言的回调函数
从上面的代码可以看出,MyHandle() 函数的参数有一个指针,在 main() 函数里调用MyHandle() 函数的时候,给它传入了函数 Callback_1()、Callback_2()、Callback_3() 的函数名,这时候的函数名就是对应函数的指针,也就是说,回调函数其实就是函数指针的一种用法。回调函数:如果一个函数的指针(函数名或地址)作为参数传递给另外一个函数,当这个指针被用来调用其所指向的函数时,就说这个指针所指向的函数是一个回调函数。函数指针:函数指针是指向函数的指针变量。
2024-11-21 18:50:39
746
原创 [分享]分享一下我用了十几年的按键扫描方法
gucKeyOkTimer超过消抖的阀值(我一般10次,即100ms),则确认有按键了。只是消抖的条件,不是电平的判断,而是物理按键的pressing标志。想了很久之后,我结合PC的键盘处理方法,编写了自己的按键函数,经过几次修改,刚参加工作的时候,对比学校里和同事的按键处理函数,发现总是不尽如人意,因为每个按键,包括复合按键都有自己的标志位和计时变量,可以跟物理按键的。如果你跟我的思路相同,也遇见过这样的困惑,可以考虑我的按键扫描方法。我摘录了与按键相关的部分,如果有疑问,欢迎通过邮件或QQ沟通。
2024-11-11 17:59:24
413
2
原创 安卓手机频繁连接蓝牙后无法连接问题
其他像蓝牙连接133、连接异常、连接超时,其实都可以通过先断开蓝牙连接、再重连 来增大我们连接的成功率(android机型差异较大,此重连方式在一定程度上可以提高连接成功率,提升用户体验)。究极方案:当发现蓝牙服务列表为0的情况下,去重新发现蓝牙服务(gatt.discoverServices()) 或者 先断开蓝牙连接,然后再重新调用connect方法(亲测有效)android蓝牙频繁断、连之后,某次在连接成功之后去发现蓝牙服务的回调结果中,特征值服务列表为Null或者长度为0,
2024-11-06 14:15:04
313
原创 蓝牙产品CE-RED测试项目标准
由于近年来蓝牙产品的使用范围不断扩大,蓝牙产品的安全也备受重视,不同的国家对于蓝牙产品的认证要求也有所不同,那么蓝牙产品想要销往欧盟,但却不清楚需要办理什么认证?跳跃序列限值:跳频序列应始终包含至少N个跳频,其中N为15或15MHz的结果除以最小跳频频率间隔(以MHz为单位),取较大值。3、根据欧洲ETSI标准进行无线电通讯设备测试(RF测试EN300220);2、安规测试LVD(RED指令中,包含电池输入的RF产品EN60950);1、电磁兼容测试(EMC测试EN301489);
2024-10-31 14:16:57
545
原创 【如何使用git将自己注释不上传到git服务器】
在 .gitignore 文件中添加文件或文件夹的路径,Git 将忽略这些文件,不会将它们添加到仓库中。如果你不添加和提交你的更改,它们不会被推送到远程仓库。但是,这样做的风险是,如果你切换到其他分支或执行其他 Git 操作,你可能会丢失这些更改。这样,你的注释不会影响到主分支,也不会被推送到远程仓库,除非你明确选择将本地分支推送到远程仓库。如果你只是暂时添加注释,而不想提交这些更改,你可以使用 git stash 命令将更改保存到一个临时区域,然后在需要的时候再恢复这些更改。
2024-10-25 10:12:11
457
原创 怎么打包git提交版本
通过使用 git checkout 命令检出指定的提交版本,然后使用 git archive 命令将文件导出为压缩包,我们可以方便地备份、共享或发布项目的历史版本。在本文中,我们将介绍如何使用 Git 来将指定的提交版本到现在的文件导出为 zip 或 tar 包。通过导出文件的操作,我们可以方便地将指定的提交版本到现在的所有文件打包压缩,以便备份、共享或发布。6.通过以上操作,我们成功将指定的提交版本到现在的文件导出为 zip 包。要导出指定的提交版本到现在的文件,我们需要使用 Git 的命令行工具。
2024-08-20 10:15:12
741
原创 通过ATS软件抓取ios手机日志方法记录
下载网址:https://developer.apple.com/bug-reporting/profiles-and-logs/?点击这个下载,之后在手机通用-VPN与设备管理里面找到刚才下载的描述文件然后安装;下载链接:https://wwd.lanzouj.com/ibSlz25lf34b。2.使用ios电脑或者虚拟机下载ATS软件。1.ios手机下载描述符文件,用于过检测。
2024-07-26 16:13:36
696
原创 串口工具推荐
串口王(多串口调试MulitComWatch):功能强大且齐全的软件,适用于Windows平台,能够同时监测多个串口的数据,并支持USB扩展出的虚拟串口,具备智能应答功能,适合单片机通讯开发和工业控制领域。选择合适的串口工具时,应考虑工具的功能是否满足需求、操作界面的友好性、以及是否支持特定的通信协议和设备。ECOM串口助手:一款实用且易于使用的工具,支持多种高级功能和选项,适合单片机串口调试工作,如果需要一个可靠且易于操作的串口调试工具,这是一个不错的选择。
2024-07-10 14:13:50
626
原创 《c语言结构体怎么函数传参》
在C语言中,结构体(struct)是一种用户自定义的数据类型,用于组合多个不同类型的数据成员。当你在函数间传递结构体时,根据实际需求和是否希望改变原结构体的状态来选择合适的传参方式。如果你的问题更具体或有其他疑问,请告诉我,我会进一步解释。
2024-07-02 14:50:10
586
原创 【STM32修改串口波特率】
这个寄存器是一个无符号16位寄存器,计算公式为:USART_BRR = ((USART_APBCLK / 16) - 1) / baud_rate。USART模块提供了多个寄存器来设置波特率,其中关键的寄存器包括BRR(波特率寄存器)和USART_CR1(控制寄存器1)。根据你的应用需求,可能还需要在USART_CR1寄存器中设置USART_MODE(波特率模式)位。在USART_CR1寄存器中,设置USART_FLAG_TXE(发送数据就绪标志)和USART_CR1_USBS位(波特率发生器使能)。
2024-06-28 11:41:11
2971
原创 计算机按位符号说明
异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。有1出0,全0出1. 或非是一种逻辑算法,常在计算机中以“或非门”的形式存在。&(Ampersand)是英语单字“and”之代表符号(在之前是英文字母表的第二十七个字母),亦可用作中文中的“和”、“与”之代表符号。异或的数学符号为“⊕”,计算机符号为“xor”。
2024-06-24 09:50:38
235
原创 4线SPI和3线SPI的区别记录
SPI分4线和3线,4线接口:包括SCLK、SDO、SDI、SS;3线接口:包括SCLK、SDA、SS。所以3线和4线的不同在于,4线接口可以实现的是master in和master out。但3线只有master out。不管是3线还是4线,SS是必须有的。常见的SPI信号有:SS片选、SCK同步时钟、MISO、MOSI(也有叫SDI、SDO的)数据输入和输出,还的有包括DCX命令数据选择。SPI比较混乱,主要是没有标准的协议,只有moto的事实标准。所以衍生出多个版本,但没有本质的差异。
2024-06-07 10:36:35
628
1
原创 一篇文章看懂ble蓝牙广播结构
随机目标地址:TYPE = 0x18,定义和前一个类似,表示希望这个广播包被指定的目标设备处理,此设备绑定了随机地址,DATA 是目标地址列表,每个地址 6 字节。公开目标地址:TYPE = 0x17,表示希望这个广播包被指定的目标设备处理,此设备绑定了公开地址,DATA 是目标地址列表,每个地址 6 字节。这部分的数据是无效的,解释的时候,忽略即可。厂商自定义数据: TYPE = 0xFF,厂商自定义的数据中,前两个字节表示厂商 ID,剩下的是厂商自己按照需求添加,里面的数据内容自己定义。
2024-05-28 17:17:44
1618
原创 手机抓到蓝牙日志后怎么用蓝牙分析仪解析教程
注意:一般解析文件都是带log的,比如小米手机的文件是这个。2.在上面框中选择File-ctrl+P。5.最后就解析出对应数据包了。1.打开Ellisy软件。3.打开抓到的解析文件。
2024-05-16 15:13:39
622
原创 蓝牙4.0、4.2、5.0、5.1、5.2、5.3速度分别是多少
高速模式,蓝牙4.0-4.2都为24 Mbit/s,蓝牙5.0-5.1速度48 Mbit/s。低速,蓝牙4.2为1-3Mbps,5.0增加了125k/1M/2Mbps。蓝牙技术系统中的底层硬件模块由基带、跳频和链路管理。其中,基带是完成蓝牙数据和跳频的传输。无线调频层是不需要授权的通过2.4GHz ISM频段的微波。数据流传输和过滤就是在无线调频层实现的,主要定义了蓝牙收发器在此频带正常工作所需要满足的条件。链路管理实现了链路建立、连接和拆除的安全控制。
2024-05-13 10:48:30
25257
3
原创 【蓝牙】手机和PC蓝牙HCI LOG抓取方法
进入应用程序—>设置—>关于手机—>软件信息,点击版本号7次,打开开发者模式,进入“开发者选项”菜单,点击“启用蓝牙HCI监听日志”并设置“启用”,重启手机或开关飞行模式,尝试复现问题,问题复现后,进入拨号界面*#9900#,然后点击RUN DUMPSTATE/LOGCAT选项并等待,等待结束后,按“COPY TO SDCARD(INCLUDE CP RAMDUMP)”,将手机连接到PC并找到“log”文件夹并压缩,log\bluetooth\btsnoop_hci_xxxxxxxx.cfa。
2024-05-07 16:56:04
2518
原创 嵌入式软件工程师可以考哪些专业相关证书? 想考些证书,有利于今后找工作,可以考哪些?
软考都可以,具体的不知道,下边回答来自百度证书有:微软WinCE嵌入式开发工程师证书、红帽公司《Linux应用开发工程师证书》、ARM公司全球统一《ARM嵌入式工程师认证证书》、Atmel公司全球统一《Atmel嵌入式工程师认证证书》、工业和信息化部《国家信息技术应用技能嵌入式Linux工程师认证证书》
2024-03-21 17:32:19
2225
原创 嵌入式软件工程师技术分为哪几个等级?快来看看你是属于嵌入式软件工程师技术哪一个等级?
能力4:软件架构设计能力,能做到程序执行时间短(时间复杂度低),占用数据空间少(空间复杂度低),以减少对中断时间和芯片内存的过分要求。3、高级:主要是对中级的进阶,这个层面已经不在于掌握具体的技术,而是掌握当前流行技术中的基本思想和构成方式,所以任何流行的技术,对于这一阶段来说,都是手到擒来的。能力3:对算法的精通,包括常规的平均值、有效值计算法,低通、带阻滤波器,PI、PR控制器,以及产品需要的专用控制算法等。1、初级:8051或其他单片机,UCOS,I²C,SPI,UART。
2024-03-21 17:28:59
889
原创 git 打标签操作
2、新建含附注的标签,用-a (译注:取annotated 的首字母)指定标签名字即可:-m 选项则指定了对应的标签说明,Git 会将此说明一同保存在标签对象中。6、分享标签 , 默认情况下,git push 并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。现在git 提供的windows git客户端已经可以完成大部分日常操作了,但是觉得有个功能很有用但还没做上去,那就是打标签的操作。打标签是个很好的技巧,建议在后面的工程中,如果对工程有什么较大的升级或者新增,可以打上标签。
2024-03-21 09:56:14
447
原创 【杰理】SPP篇需要注意
若发送过程中出现 pend_for_tx_bulk 的打印,可在app_config.h适当增大底层缓存BUF CONFIG_BT_TX_BUFF_SIZE ,例如改成12K,但最大不能超过20K。
2024-01-08 15:04:52
545
转载 数组,结构体数据互相copy
版权声明:本文为优快云博主「muyepiao1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/muyepiao1/article/details/77884870。//数据copy到数组buf。#pragma pack(1) //字节对齐模式。#pragma pack() //恢复默认模式。// buf—转- struct。// struct—转-buf。//直接饮用p元素,即可。
2023-12-20 02:44:10
376
原创 giee 添加公匙 流程记录
在文件夹下右击鼠标-选择Git Bash Here 打开Git命令行,通过浏览器获取仓库地址,页面中点击仓库首页克隆按钮,点击通过SSH Clone项目的复制链接按钮,得到clone地址,在命令行输入 git clone 复制的ssh clone链接。3.点击右上角个人头像-点击设置菜单-点击左侧SSH密钥,在密钥输入框中粘贴复制的内容,点击添加密钥按钮完成公钥的添加。安装完成后,还需要进行最后一步配置,在终端中输入以下命令来设置自己的姓名和邮箱,以后每一次提交都将以这个标识你的身份。
2023-12-17 00:33:15
338
原创 给鼠标描述符打上注释防止忘记
/bit-1为右键,bit-2为中键,按下时对应值为1,释放时对应的值为0。//以上3个bit分别表示鼠标的3个按键情况,最低(bit-0)为左键。//使用最小值1,最大值5(左,中,右,上,下)//逻辑最小值为-4096,逻辑最大值为4096。//逻辑最小值为-127,逻辑最大值为128。//输入:数据,变量,绝对值。//数量为1,每个占8bit。//输入:数据,变量,绝对值。//数量为2,每个10bit。//输入:数据,变量,绝对值。//用途页为通用桌面。//用途页为通用桌面。
2023-12-08 18:22:09
488
原创 删除git的本地仓库方法
前言:有时需要从第三方仓库拉有些优质的项目工程模板,或者拉一些项目下来,但是同时会带上一个本地仓库 master 分支,我们想去掉这个默认的本地仓库,本质上就是删除 .git 文件。方法二: 在安装git的前提下,在该项目目录下,右键 git bash here,然后输入命令。方法三: 在安装git的前提下,在该项目目录下,右键 git bash here,然后输入命令。方法一: 在该目录下找到 .git 文件,直接删除即可。ps:工作学习中用到,记录一下。
2023-11-30 16:06:43
1395
转载 C语言预定义宏记录
标准C语言预处理要求定义某些对象宏,每个预定义宏的名称为两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义。:(C99)定义为长整型常量,yyyymmL表示wchar_t值复合ISO 10646标准及其指定年月的修订补充,否则数值未定义。:转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产生的。:转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的。:当前程序行的行号,表示为十进制整型常量。
2023-08-08 19:51:15
259
原创 UNUSED()函数的作用
上面程序中,这个程序的主要功能是重构paint函数,我们看到了在这个函数的最开始,存在两处UNUSED(),这两处的功能是防止编译器发出警告,警告option与widget两个变量没有调用,当加入这个函数时,编译器就不会再产生warning告警,避免编译时候警告过多。UNUSED()函数在程序中的作用,就如它所代表的英文一样,unused,即无用的意思。即UNUSED()函数在程序中没有实质性的作用,用来避免编译器警告。以上就是UNUSED()函数的介绍,只要见过一次,这个函数就不会在产生疑惑。
2023-07-08 15:32:06
2883
原创 常用git指令记录
git reset --hard HEAD^ :回到上一个版本。git config --global user.email “email@example.com” :添加邮箱信息。git config --global user.name “Your Name”:添加用户名信息。git commit -m “说明改了啥,加了啥”: 将文件提交到工作区。git init : 初始化仓库,把普通目录变成git可以管理的仓库。git log ,git reflog : 查看历史版本记录。
2023-06-27 16:29:26
337
原创 预编译指令资料
本文主要介绍c语言中条件编译相关的预编译指令,包括 #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined。#define 定义一个预处理宏#undef 取消宏的定义#if 编译预处理中的条件命令,相当于C语法中的if语句#ifdef 判断某个宏是否被定义,若已定义,执行随后的语句。
2023-06-26 16:55:07
893
用于ios的mfi认证资料,Accessory Interface Specification R31
2022-10-27
ActivePerl v5.25.8 官方版(包含32和64位),官网下载半天没成功,这里分享给大家希望给需要的人一点帮助
2022-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人