STM32F407 FSMC接口怎样才能正确的16位读写?

2019-07-14 16:21发布

FSMC接口配置为16位宽度
8位写如下:
Uint08 volatile *Test1,*Test2;

Test1=(Uint08 *)0x68000000;
*Test1++=0x55;
每次写完,Test1地址加1,结果完全正确。

16位写如下:
Uint16 volatile *Test1,*Test2;

Test1=(Uint16 *)0x68000000;
*Test1++=0x5555;
每次写,在第1第2个字节都写入0x55,第3第4个字节写0x00,写完后Test1地址加4,而不是加2。


这是怎么回事?怎样才能正确的16位读写?




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
emsthe
1楼-- · 2019-07-15 00:08
Uint16 检查这个类型的定义。。
kpj3026
2楼-- · 2019-07-15 00:17
 精彩回答 2  元偷偷看……
xiongcanfei
3楼-- · 2019-07-15 03:35
是类型定义不对,Uint16 应该定义为 short,而我定义为int了。结题!
到此,FSMC接口已经完全OK。谢谢各位。下一步测试FSMC操作COG型的LCD。

一周热门 更多>