求大神解决两句C语言代码,在stm32开发中遇到的。

2019-03-23 18:34发布


首先,小白一个,还没入门,高手别见笑,多包涵
如题,最近在看用stm32的FSMC驱动dm9000a的例程,用的bank1,FSMC_A16与DM9000a的CMD连接,16bit模式,FSMC_A[24:0]对应HADDR[25:1],有几行C语言代码不是很明白,在下边


#define DM9000_IO_CMD    *((__IO uint16_t *)0x60000000) //

#define DM9000_IO_DATA   *((__IO uint16_t *)0x60020000) //


......


static u16 ior(u16 reg)

{

    u16 read_data = 0;

        DM9000_IO_CMD =  reg;

        read_data = DM9000_IO_DATA;

    return read_data;

}

*((__IO uint16_t *)0x60000000)这个表达式意思是:这是个指针的指针?转不过来了,谁能说明白一些?为什么是16位?




最后谁有关于FSMC或是DM9002单片机驱动的资料,比较详细的。手上资料不全,都是直接上了TCP/UIP的,程序太大了,只想要一个很简单的,访问以下寄存器,发个数据什么的,现在还不会用呢.跪求,,,,,,,,

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。