4716|1

349

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

LM3S9B96的i2c设置问题? [复制链接]

各位用过的说说怎么设置,我设置的没有反应。

             SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C1);
             SysCtlPeripheralReset(SYSCTL_PERIPH_I2C1);
             SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);
             GPIOPinConfigure(GPIO_PJ0_I2C1SCL);
             GPIOPinConfigure(GPIO_PJ1_I2C1SDA);
             GPIOPinTypeI2C(GPIO_PORTJ_BASE, GPIO_PIN_0 | GPIO_PIN_1);
             i2c = (LM3SXXXX_STRUCT_I2C *)LM3SXXXX_BASE_I2C1_MASTER;
            
             //HWREG(I2C1_MASTER_BASE + I2C_O_MCR) |= 0x01; // Loopback mode
             I2CMasterInitExpClk(I2C1_MASTER_BASE, SysCtlClockGet(), false);// 100K
             I2CMasterSlaveAddrSet(I2C1_MASTER_BASE,
                                   0x90,
                                   false
                                   );
             I2CMasterEnable(I2C1_MASTER_BASE);
            
             // set for read TMP275
             I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_SINGLE_SEND);
             I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_SEND_START);
             I2CMasterDataPut(I2C1_MASTER_BASE, 0x01);
             I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);
             I2CMasterDataPut(I2C1_MASTER_BASE, 0x60);
             I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_SEND_FINISH);
            
             I2CMasterDisable(I2C1_MASTER_BASE);

 

读的时候是:

    I2CMasterEnable(I2C1_MASTER_BASE);
   
    I2CMasterSlaveAddrSet(I2C1_MASTER_BASE, 0x90, false);
    I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_SINGLE_SEND);
    I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_SEND_START);
    I2CMasterDataPut(I2C1_MASTER_BASE, 0x00);
    I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_RECEIVE_FINISH);
   
    I2CMasterSlaveAddrSet(I2C1_MASTER_BASE, 0x91, false);
    I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_SINGLE_RECEIVE);
    I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_RECEIVE_START);
    TempDataBuf[0] = I2CMasterDataGet(I2C1_MASTER_BASE);
    I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_RECEIVE_CONT);
    TempDataBuf[1] = I2CMasterDataGet(I2C1_MASTER_BASE);
    I2CMasterControl(I2C1_MASTER_BASE, I2C_MASTER_CMD_BURST_RECEIVE_FINISH);
   
    I2CMasterDisable(I2C1_MASTER_BASE);

最新回复

你的I2C电路是如何连接的?我之前也是在用到I2C模块的时候,怎么写都没反应,后来同样程序在开发板上试可以对EEPROM进行读写,才发现SDA和SCL的上拉忘加,因为是开漏输出 加了以一切以后一切就ok了  详情 回复 发表于 2011-6-14 21:35
 
点赞 关注

回复
举报

154

帖子

0

TA的资源

纯净的硅(初级)

沙发
 
你的I2C电路是如何连接的?我之前也是在用到I2C模块的时候,怎么写都没反应,后来同样程序在开发板上试可以对EEPROM进行读写,才发现SDA和SCL的上拉忘加,因为是开漏输出 加了以一切以后一切就ok了
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表