- 博客(20)
- 收藏
- 关注
原创 涉及 char 与 uint32_t 转换时要注意符号扩展
当你启用编译器的 "Plain char is signed" 后,char变成了有符号类型。
2025-11-26 20:00:27
124
原创 使用GD32EmbeddedBuilder编译出的程序,char 被视为 signed char
代码运行过程中,printf("原始数据: 0x%08X\n", data);// 字节值printf("有符号char: %d\n", (char)pdata[0]);// 有符号解释printf("直接赋值: 0x%08X\n", (uint32_t)pdata[0]);// 符号扩展后的结果打印数据如下:原始数据: 0x000000FF有符号char: -1直接赋值: 0xFFFFFFFF。
2025-11-26 19:53:21
225
原创 uint8_t 类型的msg[0]到msg[3] 放到char version[32]中怎么实现
/ 添加字符串结束符。// 方法一:直接拷贝。// 拷贝前4个字节。// version[4] 自动为 '\0'(因为初始化全为0)// 结果示例: "V46.170.2.0" (十进制显示)// 结果示例: "2E AA 02 00"// 结果示例: "2EAA0200":根据版本号的实际格式选择合适的方法。// 或者使用方法三:十六进制显示。// 选择其中一种方法。
2025-10-17 17:55:42
379
原创 __set_PRIMASK();函数的功能,以及和其他屏蔽中断函数的区别
优先使用 BASEPRI- 提供最好的实时性谨慎使用 PRIMASK- 会影响所有中断响应特殊情况用 FAULTMASK- 仅在错误处理中使用始终保存和恢复状态- 支持嵌套调用在大多数嵌入式应用中,推荐使用BASEPRI进行精细的中断控制,只有在极短的临界区或兼容性要求时才使用PRIMASK。
2025-10-16 20:20:41
993
原创 使用定时器中断测试中断屏蔽是否有效
如果中断屏蔽有效,时间time打印为0;但是得注意cnt_2这个参数,一定要设置为volatile,防止被参数被优化,被优化时我的do{} while;看打印一直没有花费时间,无论参数怎么修改,打印的时间都是1s打印一次,且time =0;设置为volatile,且屏蔽中断有效,time打印值为0,但是printf打印出来的时间不是1s,会比1s长;说明定时器中断被屏蔽掉了。
2025-10-16 20:19:09
178
1
原创 使用gd官方编译IDE工具,GD32EmbeddedBuilder ,运行程序报错提示 section .stack VMA [20005800,20005fff] overlaps section
解决方法:这个提示的意思是程序编译内存大于芯片存储内存,选一下IDE工具的优化等级解决;程序就可以正常运行了。
2025-09-03 13:41:46
219
原创 烧录器软件GD_Link_Programmer_v4.9.2.21966
1:烧录器软件GD_Link_Programmer_v4.9.2.21966。
2025-03-11 17:20:01
1004
原创 JWQ1149背光芯片
从机地址:b0110001 (16进制:0x31) (注:IIC读写从机地址需要左移一位,最后一位为读写位)数据手册上的默认寄存器配置里,0x02寄存器默认设置的是电流0mA,应该根据实际进行设置,否则LED不会亮;SMBus Command:SMBus命令,寄存器配置。VOUT:过压电压保护输出。JWQ1149背光芯片。PWM:PWM波输出。
2025-01-21 17:39:44
338
原创 J_flash 烧录GD32代码
4.按“F7”键进行程序烧录,烧录成功页面最下方会有黑色字体的成功提示,失败出现红色字体提示;5.按"F9"键运行程序;
2024-10-12 14:56:28
1402
1
原创 使用pcan explorer 5 读取和发送CAN数据
2.打开pcan explorer 5,选择file->new project;3.右边小窗口,选择connection右键,点击add connection;4.选择pcan和设置的波特率;6.设置需要发送的CAN数据;1.连接好pcan工具;5.添加发送和接收页面;
2024-10-11 18:06:42
1440
原创 山景BP10开发板,烧录Bin文件进入芯片操作步骤
(我的MergeAudio2BinNew.exe程序存放位置为:D:\MySoftware\AndeSight_v3.0\zcode\workspace\MVsB1_BT_Audio_SDK_v0.1.12+P05\MVsB1_Base_SDK\tools\remind_script)(我的代码存放位置为:D:\MySoftware\AndeSight_v3.0\zcode\workspace\MVsB1_BT_Audio_SDK_v0.1.12+P05\BT_Audio_APP)特别提醒,不可用中文。
2024-04-18 16:43:04
2332
1
原创 E99,升级mcu/adb方式升级SOC
accountcmd -j mock arm //在cmd中输入命令,消除地上铁界面弹窗(在adb模式下运行)accountcmd -j mock arm //在cmd中输入命令,消除地上铁界面弹窗(在adb模式下运行)vapisend -get modem.sim.iccid //查询 ICCID(在adb模式下运行)reboot -f recovery //进入U盘升级模式(在adb模式下运行)reboot -f recovery //进入U盘升级模式(在adb模式下运行)
2024-04-17 11:00:00
1619
2
原创 E99,SOC强制升级方式
文件夹:地上铁斑马升级方式\强制升级SOC程序及驱动\SP_Flash_Tool_Selector_exe_Windows_v1.2228.00.000\SP_Flash_Tool_Selector_exe_Windows_v1.2228.00.000\SP_Flash_Tool_Selector_exe_Windows_v1.2228.00.000\SP_Flash_Tool_V5。6.升级完成后,断电,拔下adb线,再上电,查看主机是否可以出现开机界面。(注:此文件不用一直更新)
2024-04-17 03:15:00
375
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅