打印

请问LM3S6911的I2C问题

[复制链接]
2321|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rubinsma|  楼主 | 2011-8-3 23:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我按照例程写了一段I2C代码,但在送数据时,
用示波器看不到总线上的数据出来,
但在INIT的前一段增加了IO拉低,确实连接和片子应该都是好的。
有人知道为啥么?

void I2C_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
    GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_2|GPIO_PIN_3 );
    GPIOPadConfigSet(GPIO_PORTB_BASE,GPIO_PIN_2|GPIO_PIN_3 , GPIO_STRENGTH_8MA, GPIO_PIN_TYPE_STD);
GPIOPinWrite(GPIO_PORTB_BASE , GPIO_PIN_2|GPIO_PIN_3 , 0 );


SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C0);                        //en I2C Pin
GPIOPinTypeI2C(SYSCTL_PERIPH_GPIOB,GPIO_PIN_2|GPIO_PIN_3);

  I2CMasterInitExpClk(I2C0_MASTER_BASE , SysCtlClockGet() , false);    //i2c0 400Kbps
  I2CMasterInit(I2C0_MASTER_BASE, true);
  I2CMasterEnable(I2C0_MASTER_BASE);
  I2CMasterSlaveAddrSet(I2C0_MASTER_BASE, 0x48, 0);


}
void I2C_Trans(char cmd)
{
while(1)
{I2CMasterControl(I2C0_MASTER_BASE, I2C_MASTER_CMD_SINGLE_SEND);

I2CMasterDataPut(I2C0_MASTER_BASE, 0x61);

}

相关帖子

沙发
rubinsma|  楼主 | 2011-8-4 00:09 | 只看该作者
AFSEL    0x40005420
ODR        0x4000550c
DEN        0x4000551c
这三个寄存器,AFSEL和ODR都没初始化到,是否我用的库函数有问题?

使用特权

评论回复
板凳
rubinsma|  楼主 | 2011-8-4 00:09 | 只看该作者
手动修改后,时钟终于出来了。。。

使用特权

评论回复
地板
永远的不知| | 2011-8-4 01:35 | 只看该作者
2# rubinsma

您使用的哪个版本的库函数?建议下载最新的库函数。

使用特权

评论回复
5
lixmlxm| | 2013-3-1 10:03 | 只看该作者
请问有谁调过24C256,我进去后连续读10个没有问题,连续读12个以上就有问题!通过打印中断次数,只能判断有32个中断,但是32以上就不行了,是我设置问题吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

73

帖子

0

粉丝