- 博客(79)
- 收藏
- 关注
原创 Android Studio 图标制作与汉化全攻略:从生成图标到汉字图标、中文应用名
通过Image Asset Studio,Android开发者可以快速创建符合规范的应用图标,包括创意汉字图标。结合Android的多语言支持机制,可以轻松实现应用界面的国际化,包括中文应用名称的显示。记住以下关键点:使用生成和设计图标创建汉字图标时选择Text模式并合理设计通过创建对应语言的文件实现应用名称本地化始终在不同的设备和系统版本上测试显示效果掌握这些技能后,你将能够为应用创建专业、美观且符合目标用户语言习惯的图标和名称,提升应用的整体质量和用户体验。
2025-12-23 22:24:02
632
原创 Windows连接腾讯云服务器
通过SSH密钥登录腾讯云服务器,你不仅获得了更好的安全性,还提升了工作效率。虽然Windows环境下的配置过程有一些特殊坑点,但只要按照本文的步骤操作,就能顺利实现一键登录。记住关键点Windows PowerShell默认无,手动复制最可靠文件权限是常见失败原因,本地和服务器都要检查测试完全成功后,再禁用密码登录现在,享受无需密码、秒速连接服务器的便利吧!如果还有问题,欢迎在评论区留言讨论。实用命令速查# 生成新密钥对# 测试连接详情(调试用)ssh -v ubuntu@服务器IP。
2025-12-16 20:43:49
978
原创 领取轻量应用服务器后初次配置
初次领取后,新建一个服务器,之后弹出如下信息:这是你服务器的信息,然后我们要进行一些初步操作:效果如下:你有一个私有地址。这意味着:获取公网IP:你需要知道腾讯云分配给此服务器的公网IP,用于你访问。 配置安全组:仅设置服务器防火墙(UFW)是不够的。你必须登录腾讯云控制台,找到你的轻量应用服务器,在“防火墙”或“安全组”设置中,添加入站规则,开放上述端口(如)。这是数据能到达服务器的前提。第四步:验证与下一步本地验证:在服务器上,用 命令快速测试服务是否响应。获取公网访问地址
2025-12-10 21:54:49
301
原创 领取腾讯云服务器
腾讯云有活动,即新注册用户可以领取1个月的服务器活动,其中有轻量应用服务器和云服务器,虽然可以领取都可以领取,但是我主要介绍下他们的区别。对于刚接触腾讯云的新用户来说,理清“轻量应用服务器”和“云服务器(CVM)”的区别,是做出正确选择的第一步。简单来说,。
2025-12-10 21:15:39
486
原创 AXF文件变量地址查找完全指南
AXF(ARM eXecutable Format)文件是ARM编译器(如Keil MDK、IAR等)生成的可执行文件格式。它基于ELF格式,包含:可执行代码调试信息(符号表、行号信息等)数据段信息重定位信息关键特性:AXF文件包含完整的符号表,这正是我们能够查找变量地址的关键所在。三种主要方法查找变量地址readelf -s:最直接的方法objdump -t:替代方案fromelf -s:Keil用户专用输出结果的正确解析批量处理和高级技巧常见问题的诊断和解决最佳实践建议对于快速查找,使用。
2025-11-01 17:58:58
677
原创 Keil C51 内存溢出错误 L107 完全解决教程:从报错到根治
在使用 Keil C51 进行单片机开发时,经常会遇到以下编译错误:这个错误表示程序的变量太多,单片机内部宝贵的 RAM(数据存储器)已经被占满,放不下了。Keil C51 的 L107 错误是一个常见但容易解决的问题。通过此文章,你可以:理解错误根本原因:DATA区溢出掌握三种解决方案:改内存模型、手动指定变量、修改启动文件学会使用MAP文件进行内存分析采取预防措施避免问题再次发生推荐首选方案:直接更改内存模型为Compact,这是最简单且有效的解决方案,适合大多数项目。
2025-09-12 18:16:12
1558
1
原创 升级SEGGER驱动并覆盖Keil5内的DLL文件
其过程主要包括:下载最新的SEGGER J-Link驱动、安装驱动、找到并替换Keil5目录下的旧版DLL文件。如果你使用的是山寨J-Link,升级最新驱动需谨慎,因为新驱动可能检测并封锁克隆探头。点击旁边的“Settings”,如果能够正常打开J-Link配置对话框并且识别到你的J-Link设备ID和芯片型号(或至少能识别内核),说明升级和覆盖成功。若已升级最新驱动并出现问题,可尝试卸载新驱动,然后安装旧版驱动,并手动将旧版驱动中的DLL文件复制到Keil5的。等所有可能调用J-Link驱动的程序。
2025-09-05 17:01:58
1098
原创 keil报错:ERROR :FILE DOES NOT EXIST
编译过程因致命错误而完全中断,没有生成任何可执行文件。建议:检查设备支持包是否安装完整尝试在项目中替换启动文件。
2025-08-18 15:57:19
525
原创 keil错误:Error: failed to execute ‘D:\Keil\C51\BIN\BIN\A51.EXE‘
芯片:中微某8位单片机。
2025-08-18 14:21:18
689
原创 关于keil5报错“TOOLS.INl - Section ‘[C51]‘: missing ‘PATH‘ entry! ”
找到TOOLS.INI(Keil目录或Windows目录)。编辑TOOLS.INI(管理员权限运行编辑器)。确保[C51]区块存在。确保[C51]区块内有(路径替换为你电脑上的实际路径)。保存文件。重启 Keil µVision。(可选) 检查系统PATH环境变量、Keil 环境设置或重新安装编译器。
2025-08-16 15:24:29
1286
原创 微信小程序控制空调之全链路实现
我采用的是ESP32高低电平切换一次,STM32采用IO中断方式跨平台集成:无缝连接移动端、云端和嵌入式设备协议转换:实现MQTT到红外协议的智能转换低延迟控制:全链路延迟<500ms高可靠性:多重保障机制确保指令准确送达实际应用效果用户可通过手机远程控制空调响应时间<1秒支持16-30℃精确温控系统功耗<5W(待机状态)未来扩展方向语音控制集成(微信语音/小程序语音API)AI节能优化(基于习惯学习自动调节)多协议支持(增加蓝牙/WiFi直连)能源管理面板(可视化用电统计)
2025-07-10 15:19:55
1046
原创 微信小程序控制空调之EMQX服务器安装与配置
以下是EMQX服务器安装配置、MQTTX客户端使用及通信测试的完整教程,主要Windows平台实现,并附客户端通信代码示例。完整代码见EMQX示例库MQTT,微信小程序文档使用微信小程序接入 | EMQX 文档ESP32接入文档t=P4F5EMQX示例库https://github.com/emqx/emqx/tree/master/examples。
2025-07-10 14:38:37
765
原创 微信小程序控制空调之微信小程序篇
本文将深入探讨如何开发一个专业的微信小程序空调遥控器,通过原生实现MQTT协议与物联网设备通信,提供完整的温度控制、模式切换功能,并包含强大的重连机制和调试系统。通过本教程,不仅学会了如何开发微信小程序空调遥控器,还深入理解了MQTT协议的底层实现原理。这种原生实现方式虽然复杂,但提供了更高的灵活性和控制力,特别适合对性能和可靠性要求高的物联网应用场景。t=P4F5。
2025-07-09 13:12:02
1156
1
原创 微信小程序控制空调之接收MQTT消息
本文将详细介绍如何使用ESP32开发板通过MQTT协议接收云端指令,实现对空调设备的远程控制。项目采用PubSubClient库实现MQTT通信,通过GPIO电平变化控制STM32芯片实现红外遥控器信号。环境:arduino芯片:ESP32本项目构建了一个基于MQTT的智能空调控制系统,核心功能包括:通过WiFi连接家庭网络订阅MQTT主题接收控制指令解析云端下发的温度设置命令通过GPIO电平变化模拟红外遥控信号实现空调的远程开关和温度调节低成本:使用通用开发板和公共MQTT服务易扩展。
2025-07-08 18:21:52
1090
原创 微信小程序控制空调之控制空调
环境:芯片:STM32F103C8T6本文详细介绍了基于STM32的红外空调遥控器实现方案,涵盖了38kHz PWM载波生成、自定义红外协议设计、按键中断处理等关键技术点。本方案稍加修改即可适配不同品牌空调协议,也可扩展为万能红外遥控器。通过理解底层通信原理,相信大家可以进一步探索物联网设备的红外控制技术。
2025-07-08 14:19:19
1191
原创 ESP官网的使用手册网址
LED Control (LEDC) — Arduino-ESP32 2.0.14 documentation (readthedocs-hosted.com)
2025-07-01 20:28:25
125
原创 J-Scope的RTT模式
环境:芯片:Keil:V5.35.0.2通过网盘分享的文件:Jscope.7z链接: https://pan.baidu.com/s/1CR6yCq2Lev1D5Mzlep5Q9w?pwd=8nsh 提取码: 8nsh将文件下载并解压将文件放到工程内:添加注意事项:需要将头文件包含进去。代码编写:初始化代码 参数说明:第一个参数:索引值,好像都是1,第二个参数:类型:char* sName;这个值有讲究,所以我传输的值是8个无符号16位数据 示例:第三个参数:定义的全局变量名第四个参数
2025-05-09 16:28:45
1105
原创 瑞萨RA4M2使用心得-异常集合
环境:芯片:STM32F103C8T6Keil:V5.35.0.2报错信息:控制台信息:解决方法:1.2.3.4:不多做介绍,跟着操作来5:选择自己的芯片内存6:选择合适自己的内存和大小(需要自己去找资料多试试,我没找到具体的设置,官网解决方法如图,但是还是没有解决我的问题) 7.如果还是不行,建议选择其他芯片,保存后再重新设置回来。然后重新配置一下。最后,我可以烧录时的配置:
2025-04-07 12:35:51
283
原创 瑞萨RA4M2使用心得-KEIL5的第一次编译
环境:开发板:RA-Eco-RA4M2-100PIN-V1.0IDE:keil5.35编辑瑞萨的芯片,除了keil5 外还需要一个软件:RASC路径:Releases · renesas/fsp (github.com)向下找到:setup_fsp_v5_8_0_rasc_v2025-01.exe下载并安装,注意:路径不要有中文 我的安装路径:C:\Renesas\RA\sc_v2025-01_fsp_v5.8.0\eclipse如果是默认的话,安装路径应该和我一样。将rasc.exe文件快捷方式放到桌面打
2025-04-06 22:40:08
755
原创 瑞萨RA4M2使用心得-GPIO输出
1.main函数的所在文件夹2.main函数3.一些函数的使用文档4.控制台5.相当于keil的while函数6.打开hal_entry ();的生命:在红框区域增加自己的代码。
2025-04-06 17:35:05
646
原创 瑞萨RA4M2使用心得-RA-Eco-RA4M2-100PIN-V1.0MCU
前期的安装环境会有点复杂,但是瑞萨的跟着操作走还是简单的,不需要一些复杂的下载和安装选项。
2025-04-02 14:51:46
590
原创 STM32F103C8T6使用内部晶振64M
将原void SystemInit(void){}函数注释掉//设置AHB时钟(HCLK) = 系统时钟//设置AHB2时钟 = HCLK//设置AHB1时钟 = HCLK//设置FLASH存储器延时时钟周期数//设置PLL时钟源及倍频系数,频率为8/2*16=64MHz= 0x08);//定义结构体变量//设置NVIC中断分组2:2位抢占优先级,2位响应优先级//获取不同时钟频率仿真查看rcc_clocks参数:经转换:0x03D09000对应64M。
2025-03-31 15:09:20
776
原创 deep seek本都部署后如何删除
在命令行中输入ollama rm deepseek - r1:1.5b,即可删除指定的DeepSeek模型。当然你如果还在模型的交互界面,可以先输入 Ctrl + D 来退出交互模式,ollama rm deepseek - r1:1.5b 这条语句是用来删除 deepseek - r1:1.5b 模型的,大家可以根据自己的模型来进行更改。如果出现下面这条语句,就证明你已经成功删除了ollama rm deepseek - r1:1.5b模型。命令,清理Ollama运行过程中产生的缓存文件,释放磁盘空间。
2025-02-18 18:19:16
3523
原创 关于deep seek的本地化部署
登录ollama官网:Download Ollama on Windows选择自己的系统,然后下载。如果下载时网速太慢,可以右键复制下载连接。使用迅雷下载。默认安装在C盘,所以要有足够的空间。安装完成后,验证是否安装完成1:按Windows + R,打开运行,2:输入cmd,会打开一个界面3:在界面里直接输入:ollama。4:回车.之后如果出现如下界面,则安装成功了按如图顺序进行操作,第三步选择合适的模型,第四步点击复制在cmd运行界面,粘贴刚才复制的内容进行下载。下载完成后就可以使用啦。如果遇到下载缓慢
2025-02-18 17:55:24
505
原创 STM32如何测量运行的时钟频率
①HSI内部高速时钟,RC振荡器,频率为8MHz,精度不高。②HSE外部高速时钟,可接石英/陶瓷谐振器,频率范围为4MHz~16MHz,一般是8MHZ。③LSI 内部低速时钟,RC振荡器,频率为40kHz,精度不高。④LSE外部低速时钟,接频率为32.768kHz的石英晶体。⑤SYSCLK系统时钟三个来源HSI(8M)、PLLCLK(4M-128M)、HSE(4-16M)。一般是通过PLLCK倍频设置为72M,即。
2025-01-11 10:04:59
1496
原创 STM32如何使用内部晶振作为晶振
首先说明一下芯片内部并没有时钟, 而是内部振荡。使用内部振荡的好处是外部无需设计晶振电路 ,再说的简单点 ,不用外部晶振依然可以让单片机正常运转。环境:芯片:STM32F103C8T6Keil:V5.24.2.01.打开任意keil工程.打开system_stm32f10x.c2.找到systeminit函数 全部注释掉3.然后粘贴以下代码测试频率为24Mhz,功能是正常的
2025-01-11 09:40:54
2016
2
原创 NRF24L01模块STM32-调试心得:报错 1E
RX_P_NO 这个状态寄存器上.因为之前是关闭了,所以功能正常了,但是打开并不代表我们就能正常接收到接收端的反馈信号.这就需要我们调试好接收端的代码,并且一定带上自动应答后,再次回来调试,如果还是不行,建议使用源码和配套的开发板进行验证,之后更改为自己的代码。调试时我们会尝试读取STATUS寄存器状态来了解模块目前的状态,但是我们在读取时至为0x1E,这就很纳闷,根据寄存器描述。第四位很好理解也很好判断,达到了最大重发次数报错.可以将最大重发次数关闭,一直进行重发。芯片:STM32F103C8T6。
2025-01-09 20:23:52
1424
1
原创 NRF24L01模块STM32调试心得-调试顺序
对于FIFO_STATUS的情况就多了些,因为数据宽度的不同也会造成寄存器的值不一样,24L01最大支持32字节宽度,就是说一次通讯最多可以传输32个字节的数据,在这种情况下,接收成功读数据之前寄存器值应该为0x12,读数据之后就会变成0x11;可是这跟我们的初衷不相符,我们想单独调试发送,完全抛开接收,这样就要去配置一些参数来取消自动应答,取消自动重发,让发送方达到发出数据就算成功的目的。使用和发送方一样的方法:观察STATUS和FIFO_STATUS的值,对照寄存器描述,接收正确时。
2025-01-09 10:31:29
1079
原创 NRF24L01模块STM32-接收端
在调试接收端时,建议先看下下篇文章NRF24L01调试心得环境:芯片:STM32F103C8T6Keil:V5.24.2.02.验证代码通发送端一样,也可以进行LED亮灭显示接收成功或失败
2025-01-08 16:39:45
571
原创 NRF24L01模块STM32通信-发送端
环境:接之前的两篇芯片:STM32F103C8T6Keil:V5.24.2.0经过之前的验证,证明了硬件和基本的通信没问题,接下来进入发送端调试发送初始化代码: uint8_t tx_Buf[32]={0x23,0x66,0x66,0x66,0x66,0x66};这个数据可以随便设置,但是调试时尽量使用16进制.3.结果的验证 验证逻辑简单,可以设置个LED进行显示就行.
2025-01-08 16:33:49
668
原创 NRF24L01模块STM32通信-通信初始化
环境:芯片:STM32F103C8T6模块:NRF24L01#define SPI_CS_PROT GPIOA //CS接线引脚通道, CSN#define SPI_DO_PROT GPIOA //D0接线引脚通道, MOSI#define SPI_SLK_PROT GPIOA //CL接线引脚通道, SCK#define SPI_DI_PROT GPIOA //DI接线引脚通道, MISO#define SPI_IRQ_PROT GPIOB //DI接线引脚通道, MISO。
2025-01-05 21:10:18
1122
原创 我的创作纪念日
提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等。
2024-11-12 15:45:09
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅