自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 keil编译之关键字volatile

变量被volatile修饰过后,就相当于告诉编译器:这个变量的值随时会被修改,例如运行系统、中断程序、或者硬件都能修改该变量的值。由于变量的值随时可能被修改,就要求这个变量的值在内存中是随时可以被访问到的。这意味着编译器不能对该变量进行优化操作,例如“将变量的值缓存在寄存器中,导致内存无法访问该变量的值”。例如,在轮询硬件时,程序可能陷入死循环;所以,在某些特定情况下,相反地,如果一个变量没有被声明为volatile,编译器就会假设它的值只会被预期的方式修改。因此,编译器能够对该变量进行优化操作。

2024-05-30 14:47:00 165

原创 J-flash烧写GD32F5芯片,PC of target system has unexpected value after programming

Reset改为Halt。

2024-04-11 10:43:43 249

原创 前置校准未完成,导致GD32芯片ADC采样不准问题

ADC采样值有时正常,有时异常。且正常值与异常值存在固定偏差。ADC配置完成后,再配置定时器(定时中断内启动ADC采样)。ADC未完成校准,就进行ADC采样,会导致采样值异常。

2024-04-03 10:16:25 356 1

原创 触发编程保护,导致芯片无法下载程序问题

基于arm进行开发时,有可能会误触发芯片的编程保护,现象为:芯片能被识别,但无法下载程序。需按照芯片手册,使用命令行方式配置寄存器,解除编程保护。

2024-03-02 10:12:09 439

原创 Arm使用keil仿真调试才能运行问题

使用keil仿真调试时,Arm单片机程序才能运行的问题。本文对该问题的产生原因进行描述,并给出解决方案。

2024-02-25 23:38:16 1061

原创 arm程序 SystemInit函数中加调试变量无效问题

按照常理,进入systeminit函数后,dbg_flag应该=1。笔者在进行arm芯片调试时,在systeminit函数中加入调试变量dbg_flag,如下图。笔者起初误以为是systeminit函数未执行,导致dbg_flag一直未初始化值100。启动文件如下,systeminit函数执行完毕后,会执行C库函数__main。dbg_flag属于全局变量,在__main函数中被赋初始值100。上述描述可知,执行ysteminit函数后,在__main函数内会。3、跳转到__rt_entry函数。

2024-02-22 19:54:44 359

原创 GD32调用UART寄存器重置函数(usart_deinit)后,发送完成标志(TC)置位

调用usart_deinit之后,清除TC标志位。调用usart_deinit之前,TC标志为0。调用usart_deinit之后,TC标志为1。TC标志提前置位,影响下次发送完成的判断。

2024-01-17 08:45:26 448

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除