5秒后页面跳转
FAQ0066 PDF预览

FAQ0066

更新时间: 2024-09-22 14:58:19
品牌 Logo 应用领域
雅特力 - ARTERY /
页数 文件大小 规格书
3页 491K
描述
结构体成员未完全初始化会导致什么样的异常?

FAQ0066 数据手册

 浏览型号FAQ0066的Datasheet PDF文件第2页浏览型号FAQ0066的Datasheet PDF文件第3页 
结构体成员未完全初始化导致程序异常  
FAQ0066  
常见问题解答  
结构体成员未完全初始化导致程序异常  
Questions结构体成员未完全初始化会导致什么样的异常?请举例说明。  
Answer:  
使用非官方程序,由于某些外设驱动在配置结构体时,未完全初始化所有成员,导致程序运行异常。  
FSMC 为例,FSMC_NORSRAMInitStructure 结构体共有 15 个成员,若 FSMC_NORSRAMInitStructure.FSMC_Asy  
nchronousWait 没有配置,则可能出现以下情形:  
使用 IAP 引导 APP 程序,APP 程序出现 FSMC 驱动 LCD 刷屏很慢。  
用户只配置了 FMSC 结构体的 15 个成员中的 14 个,其中 FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait  
没有配置,该成员变成了 SRAM 中的随机值,因此会将错误的配置写到 BK1CTRL1 中。  
解决办法:  
1. 使用 AT32 官方程序,避免结构体未完全初始化问题。  
2. 将所有结构体成员都完成初始化,对于上述 FSMC,在 void ILI9806_GPIO_FSMC_Init(void)中增加  
FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait=FSMC_AsynchronousWait_Disable;语句。  
扩展分析  
C 语言的写法一定要严谨规范,否则类似 FSMC 结构体成员未完全初始化的现象同样存在于 TMRUSARTCAN  
等任何外设,且现象不固定,比较难 debug。  
类型:MCU 应用  
适用型号:AT32 全系列  
主功能:APPLICATION  
次功能:无  
2022.2.16  
1 页  
版本 2.0.0  

与FAQ0066相关器件

型号 品牌 获取价格 描述 数据表
FAQ0067 ARTERY

获取价格

XMC接口刷新480*800的TFTLCD频率
FAQ0068 ARTERY

获取价格

AT32F4xx DSP指令使用介绍
FAQ0069 ARTERY

获取价格

零等待(ZW)和非零等待(NZW)的相关问题
FAQ0070 ARTERY

获取价格

如何缩短AT32F403闪存整片擦除时间?
FAQ0071 ARTERY

获取价格

AT32F403 的每个IO 支持多个功能输出,它们的输出有优先级吗?使用时是否会遇到需要
FAQ0072 ARTERY

获取价格

AT32F413/AT32F415/AT32F403A/AT32F407 在其他外设使用引
FAQ0073 ARTERY

获取价格

如何获得毫秒计时?
FAQ0075 ARTERY

获取价格

带AT_LINK_EZ 的开发板USART1(PA9 PA10)电平拉不低?
FAQ0076 ARTERY

获取价格

以太网设计需要注意的事项?
FAQ0078 ARTERY

获取价格

AT32F415 的USB_PIN 脚使用说明。