4336|4

85

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

LM75A器件应答问题+msp430F2274 [复制链接]

我用的是msp430F2274 单片机
哪位高手能否帮我看一下,给LM75发送器件地址后,怎样判断LM75已经正确接收到地址。
是用哪个寄存器的哪个位去判断呢?

我试过用 while (UCB0CTL1 & UCTXSTT) 进行判断,结果 UCTXSTT位一直为1, 用示波器看波形,发现单片机在发送了LM75A的器件地址后 SDA线一直为高, LM75A无应答.
请各位高手帮忙一下!!

最新回复

很多帖子都没有结尾。成不成说句话啊  详情 回复 发表于 2010-7-20 12:53
 
点赞 关注

回复
举报

66

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
I/O口功能选择的设置是否正确?输出/输入状态是否设置好了?
LM75如果没有反馈,是无法知道它是否正确的接收到地址的
但是用示波器可以看MCU的发送是否正确。
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我用的是USCI 模块的 I2C模式
I/o设置应该是跟单片机的发送/接收模式一起设置的吧?
用示波器看的MCU发出的波形是跟程序要求一样,就是LM75A无应答回来.
下面是我写的程序:
#include <msp430x22x4.h>

#define sub_addr 0x00

unsigned char RxWordH;
unsigned char RxWordL;

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
P3SEL |= 0x06; // P3.1,P3.2选为I2C功能,p3.1为UCB0SDA,P3.2为UCB0SCL
UCB0CTL1 |= UCSWRST; // 软件复位
UCB0CTL0 = UCMST+UCMODE_3+UCSYNC; // I2C主,模式3为I2C,同步模式
UCB0CTL1 = UCSSEL_2+UCSWRST; // 时钟源选择SMCLK, 保持软件复位
UCB0BR0 = 12; // fSCL = SMCLK/12 = ~100kHz
UCB0BR1 = 0;
UCB0I2CSA = 0x48; // 设定从机地址为0x90<<1
UCB0CTL1 &= ~UCSWRST; // 进入I2C工作模式



UCB0CTL1 |= UCTR + UCTXSTT; // 发送状态,发送从机地址

if((IFG2 & UCB0TXIFG) == UCB0TXIFG)
{
UCB0TXBUF = sub_addr & 0xFF; //器件子地址写入发送缓冲
}

while((UCB0CTL1 & UCTXSTT) == UCTXSTT); // 等待器件应答

if(UCB0STAT & UCNACKIFG) //如果没收到确认就停止总线
{
UCB0CTL1 |= UCTXSTP;
IFG2 &= ~UCB0TXIFG;
}

while(!(IFG2 & UCB0TXIFG)); //从机地址发送完,子地址开始发送

UCB0CTL1 &= ~UCTR; // 接收状态
UCB0CTL1 |= UCTXSTT; // 重启总线,发送器件地址,开始接收数据
IFG2 &= ~UCB0TXIFG;

while (UCB0CTL1 & UCTXSTT); // 等待器件应答
RxWordH |= UCB0RXBUF; //接收温度信息
while(!(IFG2 & UCB0RXIFG)); // 接收完高字节数据,准备接收低字节

UCB0CTL1 |= UCTXSTP; // 发送停止信号,停止总线

RxWordL |= UCB0RXBUF; //接收低字节温度信息

}
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

4
 
我也碰到楼主同样的问题 lz解决了没?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 

解决没有呢?

很多帖子都没有结尾。成不成说句话啊
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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