中级会员
- 积分
- 215
- 金钱
- 215
- 注册时间
- 2012-8-25
- 在线时间
- 1 小时
|
大家好!请大家帮我解决下面的问题先看代码
我定义的结构体是这样的:
typedef struct {
S3C24X0_REG32 NFCONF;
S3C24X0_REG32 NFCONT;
S3C24X0_REG32 NFCMMD;
S3C24X0_REG32 NFADDR;
S3C24X0_REG32 NFDATA;
S3C24X0_REG32 NFMECCD0;
S3C24X0_REG32 NFMECCD1;
S3C24X0_REG32 NFSECCD;
S3C24X0_REG32 NFSTAT;
S3C24X0_REG32 NFESTAT0;
S3C24X0_REG32 NFESTAT1;
S3C24X0_REG32 NFMECC0;
S3C24X0_REG32 NFMECC1;
S3C24X0_REG32 NFSECC;
S3C24X0_REG32 NFSBLK;
S3C24X0_REG32 NFEBLK;
}S3C2440_NAND;
/* 发出命令 */
static void s3c2440_write_cmd(int cmd)
{
volatile unsigned char *p = (volatile unsigned char *)&s3c2440nand->NFCMD;
*p = cmd;
}
上面是s3c2440针对nandflash写命令寄存器NFCMMD的函数。
下面是我写的
/*发送命令*/
static void s3c2440_write_cmd(int cmd)
{
s3c2440_nand->NFCMMD = cmd;
}
下面的代码对吗? 如果不对请说下原因,怎么改。如果对,两者的区别在哪里~
顺便问一下,手册上的NFCMMD寄存器的[7:0]是命令值[15:8]保留,第一种函数写法是不是跟这个有关系?
请各位能给我说的详细点吗?
|
|