在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 3950|回复: 2

请大家帮我看一下iic驱动程序写函数有什么问题啊?SCL和SDA老师保持为高电平

[复制链接]
发表于 2005-7-2 09:09:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我的I2C驱动程序,很简单的一个字符设备驱动,但是不知道为什么SCL和SDA老师保持为高电平,请大虾们帮我看一下我的写函数有什么问题啊?
#define IICCON  __REG2(0x54000000,4)
#define IICSTAT __REG2(0x54000004,4)
#define IICADD  __REG2(0x54000008,4)
#define IICDS   __REG2(0x5400000c,4)
static char iic_Data[IICBUFSIZE];
static volatile int iic_DataCount;
static unsigned int old_gpecon,old_gpeup;      //use to save GPECON GPEUP
//端口初始化
static void s3c2410_io_port_init(void)
{
    old_gpecon   = GPECON;
    old_gpeup  = GPEUP;
    GPEUP  |= 0xc000;                  //Pull-up disable
    GPECON |= 0xa00000;                //GPE15:IICSDA , GPE14:IICSCL
    INTMSK &= ~(BIT_IIC);
      //Enable ACK, Prescaler IICCLK=PCLK/16, Enable interrupt, Transmit clock value Tx clock=IICCLK/16
      // If PCLK 50.7MHz, IICCLK = 3.17MHz, Tx Clock = 0.198MHz
    IICCON = (1<<7) | (0<<6) | (1<<5) | (0xf);
    IICADD  = 0x10;                    //2410 slave address = [7:1]
    IICSTAT = 0x10;                    //IIC bus data output enable(Rx/Tx)
}
static int s3c2410_write(struct file * file,const char * buffer, size_t count, loff_t *ppos)
{
int i;
iic_DataCount=count;
    printk("WRITE\n");
    copy_from_user(iic_Data,buffer,count);
    IICDS   = slave_addr;                 //0xa0
    IICSTAT = 0xf0;                    //MasTx,Start
if(IICSTAT&0x1) {};
for(i=0;i<iic_DataCount;i++)
{
IICDS     = iic_Data;
    IICSTAT   = 0xf0;              //MasTx,Start
        IICCON    = 0xaf;              //Resumes II operation.
if(IICSTAT&0x1) {};
    }
    IICSTAT = 0xd0;                    //Stop MasTx condition
    IICCON  = 0xaf;                    //Resumes IIC operation.
    udelay(1);                           //Wait until stop condtion is in effect.
return 0;
}
发表于 2012-8-27 14:59:45 | 显示全部楼层
copy_from_user(iic_Data,buffer,count);
发表于 2012-11-16 14:13:25 | 显示全部楼层
SCL SDA default value should be high level.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-7 15:07 , Processed in 0.028769 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表