探索者FSMC问题讨论

2019-07-21 03:28发布

学习探索者F407的FSMC中发现,
[mw_shl_code=c,true]//写寄存器函数 //regval:寄存器值 void LCD_WR_REG(vu16 regval) { regval=regval; //使用-O2优化的时候,必须插入的延时 LCD->LCD_REG=regval;//写入要写的寄存器序号 }[/mw_shl_code]
我作了如下尝试,改为如下代码
[mw_shl_code=c,true]//写寄存器函数 //regval:寄存器值 void LCD_WR_REG(vu16 regval) { //regval=regval; //使用-O2优化的时候,必须插入的延时 LCD->LCD_REG=regval;//写入要写的寄存器序号 }[/mw_shl_code] [mw_shl_code=c,true]typedef struct { volatile uint16_t LCD_REG; volatile uint16_t LCD_RAM; } LCD_TypeDef; [/mw_shl_code]
这样就不会出错了,在-O3下编译通过


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。