4237|6

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

msp430f2274的IIC程序问题 [复制链接]

大家指导一下,我的初始化程序师这样写的
时钟用的是8MHz的
void IICInit()
{
P3SEL |= 0x06;
UCB0CTL1 |= UCSWRST;
UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC;
UCB0CTL1 = UCSSEL_2 + UCSWRST;
UCB0BR0 = 4;
UCB0BR1 = 0;
UCB0I2CSA = 0x68;
UCB0CTL1 &= ~UCSWRST;
}
然后我开始设置为主机发送并发送起始信号,检测从机是否发送了ACK信号
void AMRInit()
{
UCB0I2CSA = 0x68; //sl××e address
UCB0CTL1 |= UCTR + UCTXSTT; //start condition
while((UCB0CTL1 & UCTXSTT) == UCTXSTT);
.................................
}
这样都做完了后,马上在UCB0TXBUF中写入数据怎么IIC不发送数据啊?
大家多多指教啊。

最新回复

哥们 你程序写的串口程序,不是IIc。建议你看一下IIc与串口的区别   详情 回复 发表于 2014-4-11 15:35
 
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
i2c并不是说有数据往发送缓存里扔就会发送的,必须发送起始位。你程序也不完整不好说问题出在哪……
 
 

回复

64

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
void AMRInit()
{
UCB0I2CSA = 0x68; //sl××e address
UCB0CTL1 |= UCTR + UCTXSTT; //start condition
while((UCB0CTL1 & UCTXSTT) == UCTXSTT);
UCB0TCBUF = 0x00;//这就开始发送地址了,但是前面根本就没有收到地址的应答信号
}
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
是没有定义发送中断使能吧。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
开中断了吗
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

6
 
就是……模块的中断以及总中断程序上都看不出来
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
哥们 你程序写的串口程序,不是IIc。建议你看一下IIc与串口的区别
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表