学习探索者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下编译通过
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
谢谢指出。
一周热门 更多>