- 博客(62)
- 资源 (7)
- 收藏
- 关注
原创 给QT程序添加图标
1.先准备一个ico图标文件,可以自己做一个,或者到一些网站找找,比如下面这个。2.然后转换完毕将xxx.ico图标文件放到与.pro同一个目录下。编译运行,可执行exe应用程序图标就变成你想要的效果了。3.在.pro文件添加一行代码。
2023-12-20 10:36:52
661
原创 STM32的M4内核在keil上面float访问就hard_fault原因
个人说明:尤其最后一种,在开发中有时会使用内存1字节对齐的方式,造成float没能做到4字节对齐,从而在访问时出现hard_fault的情况出现。如果你的应用程序中使用了浮点数,确保在 Keil 中启用了浮点单元支持。在编写代码时,确保访问浮点数的内存位置是正确对齐的,否则可能会导致硬件故障。:在 STM32F4 中,硬件浮点单元的配置需要匹配你的应用程序。:如果你的应用程序中有使用浮点数的中断处理程序,确保这些中断的优先级设置正确。:确保你的栈和堆大小设置足够大,以容纳浮点数操作可能使用的临时数据。
2023-11-07 11:19:45
1599
原创 WSL下gcc for arm交叉编译链的系统配置
先设置PATH环境变量,然后在make编译时指定ARCH架构 CROSS_COMPILE交叉编译工具链(执行make命令时指定的参数,只对当前命令有效;下次执行make时仍需要再次指定那些参数)设置完毕后,要执行 source ~/.bashrc 命令使其生效,这条命令是加载这些设置的环境变量。也可以手工执行“export”命令设置环境变量,该设置只对当前终端有效(另开一个终端需要再次设置)。使用这条指令查询,如果版本等信息打印出来则表示配置成功。如需永久修改,请修改用户配置文件。
2023-10-22 21:07:26
1137
原创 vsc连接wsl安装vsc时遇到权限问题的解决方案
mkdir: cannot create directory ‘/home/xxx(用户名)/.vscode-server’: Permission denied。可以新建文件 /etc/wsl.conf,并拷贝如下内容。遇到下面的权限提示时。
2023-10-14 23:44:26
1194
原创 Windows上用QT开发BLE(Bluetooth low energy)程序,及一个坑的填充
由于BLE的一些方法不能直接在slot中操作,会造成运行时奔溃,并报错:Could not await service operation (A method was called at an unexpected time.因此,需要在slot中做一些延时,延时方法使用QTimer的singleShot,也就是上面几个函数中使用的 QTimer::singleShot(),这点很重要!6.对搜索到的服务进行处理,即slot槽函数ble_dev_tool_service_discovered_slot。
2023-05-28 22:40:19
9664
35
原创 gitlab远程仓库操作之配置ssh
第一步:创建SSH Key。第二步:登录github,打开“settings”中的SSH Keys页面,然后点击“Add SSH Key”填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。在了解之前,先有git账号,由于你的git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置。Id_ras是私匙,不能泄露出去,id_rsa.pub是公匙,可以放心地告诉任何人。点击 Add keys,你就应该可以看到已经添加的key。
2023-05-10 19:44:36
1019
原创 ubuntu基于Docker搭建Gitlab服务器
因为通过ssh链接gitlab时默认访问的是22端口,但是使用docker部署,22端口在宿主机一直被占用,所以映射为2222端口,需要修改gitlab配置文件。GitLab的访问地址是:http://IP:8000/。即时是GitLab被我们玩坏了,只要这三个文件还存在,就可以很简单的重建。现在就可以通过地址:http://IP:8000访问GitLab,但是为了正常使用,我们还需要配置GitLab。GitLab的配置文件在我们外挂的磁盘下/gitlab/config/gitlab.rb。
2023-05-10 19:24:57
1482
原创 gitlab服务器发送邮件配置
找到如下图所示的部分,放开注释,修改配置,此处我用的发件邮箱是QQ邮箱,所以域名配置都是qq.com,如果用的是163或者gmail邮箱等等,更改对应配置即可;如果您的SMTP提供程序使用端口25或587,则SMTP连接开始时 未加密,但可以通过STARTTLS进行升级。注意: 这将禁用您的GitLab实例中的所有传出电子邮件,包括但不限于通知电子邮件,直接提及和密码重置电子邮件。如果您的SMTP提供程序正在使用端口465,则SMTP连接开始 通过TLS加密。在GitLab服务器上,执行。
2023-05-10 19:11:58
3675
原创 KEIL MDK5.37/8版本自行添加AC5(ARMCC)编译器
点击Use Arm Complier一栏最后的三个省略号,选择刚刚安装的编译器路径。其中,ARMCC是旧版的编译器,ARMCLANG是3.7/8版本的编译器。.37开始,AC5(ARMCC)编译器不再默认安装,需要独立安装。或者从旧版本的keil安装目录中拷贝到新版的keil中。切换至Folders/Extensions选项卡。查看可选编译器,是不是出现了AC5?到此,添加编译器就完成了。
2023-05-10 18:10:03
1900
原创 git 解决 “fatal: Could not read from remote repository.“
如果是客户端与服务端的ssh key 不匹配,此时需要先将本地生成的 id_rsa以及id_rsa.pub这两个文件【一般在用户名下的.ssh文件夹下】删除掉,然后再使用上述指令生成新的rsa密钥。如果是客户端与服务端未生成ssh key,那么直接使用:ssh-keygen -t rsa -C "youremail@example.com" 生成新的rsa密钥即可。”,然后打开之前新生成的id_rsa.pub文件,将密钥复制后填写到账户中。注: 以上操作命令均在 Git Bash 中完成。
2023-05-10 18:04:03
5422
原创 ubuntu安装小米随身wifi驱动
最近装了一台小机器,Ubuntu系统,20.04版本,想着用网线实在麻烦,就翻出来了以前的一个小米随身wifi,然而插在。上,发现wifi用不了,于是百度之,找了些文章,使用如下方法解决。发现已经有wifi,并且可以链接网络上网了。先用有线网络让机器能够上网,然后在终端输入。留意期间如果出现一些错误提示可以不用管。
2023-05-08 09:42:12
892
原创 删除keil编译生成的过程文件
在Keil中编译工程时,会生成很多过程文件,工程文件夹就会变得很大,当复制此工程时,就会不方便。一般的过程文件后缀为:.o .d .crf .htm .dep .lnp .axf 等。需要注意的是,上面的.sct后缀的文件其实是不能删除的,否则芯片的描述文件丢失编译就会出现错误,即找不到sct文件。要复制工程时,双击执行它,就会自动把上述的过程文件删除,让工程文件夹最小。保存为 keilkilll.bat,后缀名为.bat。
2023-05-06 23:34:29
982
原创 STM32WB55的SDK使用SWO打印功能的方法
开发过程中,经常需要对调试数据进行打印,一般会使用串口,而STM32一共有2个串口,分别是USART和LPUART,对于一些需要外挂串口设备超过2个及以上的系统来讲,就显得不够用了。SWO输出的功能只能在Debug仿真模式下才能使用,在下载程序,并启动仿真之后,通过工具栏的view下拉菜单下的serial windows下的Debug(print)viewer即可进行打印观察了。5.当然,SWO也有一个缺点,那就是它是一个单向的通信,也就只能用来打印信息,不能作为输入。四、SWO输出的使用。
2023-03-21 10:53:20
1238
1
原创 STM32WB55的开发的SDK几个注意点
STM32的SDK非常强大,基本涵盖了比较多的应用demo,但在利用sdk进行应用开发时,需要注意一些小细节,本文记录部分需要特别注意的地方,以备参考。
2023-03-14 15:03:28
594
1
原创 STM32WB55的FUS更新及协议栈固件烧写方法
STM之前出了WB系列的无线多协议芯片,可以支持BLE、ZigBee等常见主流协议,甚至可以多协议共存动态运行,芯片集成了M4和M0双核,确实比较不错。今有机会项目中一试。新拿到的WB芯片需要根据情况更新FUC和烧写协议栈固件,下面介绍相关的方法和注意事项...
2022-08-06 23:13:46
1656
2
原创 汇顶Goodix GR5515的125K Coded模式广播、扫描以及链接
一、在从机端初始化广播参数的时候需要使用gap_ext_adv_param_t s_gap_adv_param;来定义参数变量,并进行如下的参数赋值 s_gap_adv_param.type = GAP_ADV_TYPE_EXTENDED; s_gap_adv_param.disc_mode = GAP_DISC_MODE_GEN_DISCOVERABLE; /* The advertisement shall not be both connec
2022-04-26 10:12:48
973
原创 汇顶Goodix GR5515的Broadcaster与Scanner的Role配置
首先是Broadcaster的配置上,需要注意配置的参数选择,如下。其中的 APP_USING_ADV_ONLY_EN 即为选择Broadcaster只广播模式还是可连接模式# if (APP_USING_ADV_ONLY_EN==true) s_gap_adv_param.disc_mode = GAP_DISC_MODE_BROADCASTER;# else s_gap_adv_param.disc_mode = GAP_DISC_MODE_GEN_DISCOVERABL
2022-04-26 09:51:19
460
原创 IAR EWARM 如何解决 Inconsistent wchar_t size 错误
在使用Nordic的NFC开发的时候,碰到了如题的错误,查找相关资料,发现如下的说明Linker error Error[Lt009]: Inconsistent wchar_t size - Nordic Q&A - Nordic DevZone - Nordic DevZonehttps://devzone.nordicsemi.com/f/nordic-q-a/27260/linker-error-error-lt009-inconsistent-wchar_t-sizeSDK 14.
2022-04-16 15:23:48
1690
原创 汇顶Goodix GR5515的一些小细节
1. 关于IO口的电压域和功能特别说明如下表所示,汇顶这颗芯片还挺特别的,使用的时候还得特别的注意2.关于串口5515一共有2个串口,但只有一路支持DMA,即UART0支持,UART1不支持3.需要特别注意custom_config.h文件中的配置,如CHIP_TYPE:定义芯片型号是5513还是5515APP_DRIVER_USE_ENABLE:定义是否使用app驱动DFU_ENABLE:DFU功能CFG_MAX_CONNECTIONS:最大连接个数……等等
2022-04-08 15:26:47
3498
原创 汇顶Goodix GR5515的FREERTOS移植及低功耗测试
其实说移植,更确切说是完善DEMO Code,因为官方已经有一个ble_app_template_freertos的demo code了,为了方便测试功耗已经功能的运行.1.打开工程工程的目录结构还算简洁,
2022-04-07 18:39:40
1564
原创 关于使用mingw64进行Atmosic蓝牙的编译下载调试
安装完SDK之后,可以使用keil编辑、编译,但不方便下载,因此需要使用 mingw64 进行编译和下载程序下面记录操作步骤流程1.安装完SDK之后在开始菜单中会有如下文件夹,其中 SDK_4.2.0就是要使用的mingw64工具点击打开就会跳转到SDK所在目录后续最常用的几个命令如下1)ls 列出当前路径下所有的文件夹和文件2) cd 文件夹名称 跳转到其中的下一个文件夹3) cd .. 返回...
2021-12-30 09:50:12
524
原创 windows使用Apple的Trackpad
因为右手使用鼠标非常多,造成右手经常疲劳,又担心鼠标手严重,所以买了一只有出色触控体验的trackpad使用,但又发现在win上只有触摸和点击的功能。后来发现有一个国外的ExtraMagic,但需要安装驱动,且电脑必须开启测试模式,另外,很重要一点是这个软件限制了使用时间,即安装之后只能使用7天,七天之后只要电脑重启了,就不能使用,必须重新下载安装软件安装才能使用。 之前在网上一直找不到类似的软件,今天电脑又重启,提示软件过期又得重新安装,于是乎我就想度娘上看看有没有更新...
2021-11-03 11:12:54
3053
8
原创 关于Cypress PSoC 6使用DMA驱动DAC的输出
前面已经说明记录如何使用DMA进行ADC采集,本文再说明如何使用DMA进行DAC的输出控制一、硬件连接关系和配置如上图1.DAC的时钟控制DAC的输出频率2.DAC的trigger输出到DMA的tr_in,即每次DAC输出完成触发一次DMA搬运二、DMA配置需求是在固定时间内,通过一个IO口输出1024个点的电压数据由于是一个IO口,每次只需要向一个目标地址搬运一个数据,因此只需要一个Descriptor即可Descriptor的配置如下。注意此处就可以利用X l..
2021-11-01 16:37:07
588
原创 关于Cypress PSoC63的DMA配置(二)
在前一篇的文章中,Cypress的DMA一个Descriptor只能做到256次的ADC采样,而项目需求需要达到1024次,因此需要用到多Descriptor的方式。1.首先Descriptor是可以创建多个的,最多可以255个2.创建之后,将每个Descriptor首尾串联3.在前3个Descriptor的Trigger output、Interrup以及Chain to descriptor的配置如下这样就能执行完本descriptor就接着执行下一个descriptor..
2021-10-29 21:49:03
283
原创 关于Cypress PSoC63的DMA配置(一)
由于使用了PSoC Create,因此PSoC63的DMA配置可以通过这个软件的组件进行预配置,文中以ADC采样触发DMA存储为例说明一下配置的各项目标:ADC每次采样两个通道的值(ADC的配置不在此赘述),并在EOS触发一次DMA数据拷贝,采样3次之后DMA模块触发中断配置说明:1.将ADC的EOS接到DMA的tr_in,并将interrupt接到isr2.DMA的配置如下对配置的个别重要参数做简单说明由于我们是ADC一次触发两个通道,且每个通道是2字节,并且3次采样之..
2021-10-29 11:31:56
624
原创 Altium Designer安装孔周围放置圆形Polygon Pour Cutout
1. 在Keep-Out层画2个圆, 中间的圆用作安装孔, 外圆做为禁止覆铜层. 这样做的好处是,放好安装孔后, 外面禁止覆铜层也覆不上铜, 防止螺钉与覆铜接触.2. 选中外圆, Tools -> Convert -> Create Board Cutout from Selected Primitives.3. 双击外圆, 选PolyRegion4. 选Polygon Cutout, Layer选Multi-Layer5. 删除外圆6. 这样在定位...
2021-02-08 00:15:43
4581
原创 双电源自动切换电路
日常电器中,双电源自动切换的例子随处可见如:交流适配器和USB供电的电源切换、电池供电和USB供电的自动切换。这些电路都遵守一个共同原则:优先选择电压高者。其实最开始这个电路是在 锂电充电电路上发现的,数据手册非常贴心的给出了双电源自动切换的参考应用,简单易实现。电路:电路实际现象:只插入交流适配器,电路会自动切换为交流适配器供电。 只插入USB-5V电源,电路会自动切换为USB供电。 同时将交流适配器和USB-5V电源接入电路,由于交流适配器的输出电压一般为 ...
2021-02-05 15:20:34
13896
7
原创 RTT在STM32L4上的PWM没有输出的一个重要原因
stm32中使用pwm时存在问题,没有输出呀,其根本原因在于drv_pwm中没有打开时钟也就是打开对应的时钟,添加 __HAL_RCC_TIMx_CLK_ENABLE();就可以使用啦。static int stm32_pwm_init(void){ int i = 0; int result = RT_EOK; pwm_get_channel();#ifdef BSP_USING_PWM1 __HAL_RCC_TIM1_CLK_ENABLE();.
2021-01-19 16:22:33
1320
转载 IAR仿VS Code配色方案
IAR仿VS Code配色方案先展示一下效果配置方法设置完背景颜色后,设置每种语法的字体颜色。我是采用取色的方式获取VS Code中每种语法字体的颜色,然后在IAR中填入对应的RGB数值实现的。具体如下图:填写这三个数值即可。下面给出每种语法具体的字体颜色,对应着进行输入即可。当然也可以自己取色,获取出三原色值填入。每种语法字体具体的三原色值背景颜色都是用的 30, 30, 30语法 红 绿 蓝 字体风格 Default 177
2021-01-03 20:31:59
1487
转载 qt中建立图片资源文件
qt中如果你要添加图片资源文件我们需要执行以下步骤:(1)先找好一张图片,这里就不多说了,网上资源很多。(2)把我们找好的文件统一放到一个文件夹,然后拉到工程文件所在的文件夹下(3)在qt中新建一个资源文件,注意右键点击主文件找到添加新文件(4)找到QT 点击右边的QT Resource File(5)点击choose,然后我们自定义一个名字(6)如果是第一次添加则要找到刚才添加的资源文件,都是在最下面,右键点击Open in Editor...
2020-12-22 17:30:24
574
转载 别人的一点感悟
原文地址:https://www.cnblogs.com/Renyi-Fan/p/8148658.html翻过这道山,就有人听到你的故事。项目(需求)是很好的学习途径,项目(需求)+看书,这样效果才好,注意项目在前面。方向错了的话,容易出问题和狼狈。择苦则安,择做则乐(闲)。悟透:所有错误的抉择(所有的挣扎)都是因为没想明白,没领悟透。接触:那些不好的东西,不要接触,停不...
2020-04-20 21:21:06
337
转载 PKCS7填充标准代码实现(C)
在AES加密算法中,若加密数据不是16bytes的整倍数,则需要按照一定标准对数据进行填充,使其满足 DataSize % 16 = 0。本文是根据PKCS7标准进行数据填充。PKCS5Padding和PKCS7Padding都是密钥的一种填充方式,即当密钥长度不足时的一种密钥填充方式。PKCS5Padding的填充方式为当密钥长度不足时,缺几位补几个0,eg.针对AES128,如果密钥...
2020-03-17 10:23:53
1446
原创 NB-IoT:指定频点操作
可以指定频点,但操作上有一定的顺序要求,可以参考如下:AT+NEARFCN=0,2508,123——这里取值均为例子AT+CFUN=0AT+NCSEARFCNAT+CFUN=1AT+CGATT=1先设置频点,然后再清除频点,然后在CGATT...
2019-07-25 17:50:16
2011
基于nrf系列(nrf52832)的ads1120驱动
2022-06-09
基于nrf52系列(nrf52832)的tmp112、bh1750、sht3x驱动
2022-06-09
CC2541认证(FCC、CE等)代码,也可作为频点功率测试用
2022-06-09
在nordic的芯片上移植TI的OSAL的snv
2022-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人