打印

MSP430F5529 硬件IIC通信 SCL引脚输出为低电平?

[复制链接]
楼主: rui199009
手机看帖
扫描二维码
随时随地手机跟帖
21
rui199009|  楼主 | 2015-5-28 10:31 | 只看该作者 回帖奖励 |倒序浏览
dirtwillfly 发表于 2015-5-28 09:09
把adxl345硬件拆掉后,重新试试

没有看到您的回复。

使用特权

评论回复
22
luofeng2g| | 2015-5-28 10:48 | 只看该作者
rui199009 发表于 2015-5-28 09:17
恩,是的,示波器测不到信号。

这个mcu有没有其他的i2c模块?可以试试其他是否正常

使用特权

评论回复
23
rui199009|  楼主 | 2015-5-28 11:05 | 只看该作者
luofeng2g 发表于 2015-5-28 10:48
这个mcu有没有其他的i2c模块?可以试试其他是否正常

MSP430F5529一共有两个IIC,分别是UCB0和UCB1两个,这两个IIC分别和SPI0和SPI1的SDA和SCL复用引脚。但是测试之后在发送模式下,还是没有时钟信号。从官方数据手册的来看应该设置为外设模式就应该可以使用IIC了,不知道是不是还有什么没有配置。

使用特权

评论回复
24
西门扫雪| | 2015-5-28 11:43 | 只看该作者
楼主,官方代码从哪里能下载呢?

使用特权

评论回复
25
rui199009|  楼主 | 2015-5-28 11:53 | 只看该作者
F5529的官方代码,希望网友给力。

msp430f5529官方代码.zip

223.21 KB

使用特权

评论回复
26
luofeng2g| | 2015-5-28 12:14 | 只看该作者
rui199009 发表于 2015-5-28 11:05
MSP430F5529一共有两个IIC,分别是UCB0和UCB1两个,这两个IIC分别和SPI0和SPI1的SDA和SCL复用引脚。但是 ...

两个模块都不行?那估计是你程序有问题

使用特权

评论回复
27
追逐浪花| | 2015-5-28 13:23 | 只看该作者
rui199009 发表于 2015-5-28 11:53
F5529的官方代码,希望网友给力。

那2410这些代码去哪里下载呢?

使用特权

评论回复
28
lvyunhua| | 2015-5-28 13:44 | 只看该作者
引脚接对了没有啊,引脚有没有上拉电阻。

使用特权

评论回复
29
dirtwillfly| | 2015-5-28 14:12 | 只看该作者
西门扫雪 发表于 2015-5-28 11:43
楼主,官方代码从哪里能下载呢?

430ware里就有

使用特权

评论回复
30
rui199009|  楼主 | 2015-5-28 16:52 | 只看该作者
luofeng2g 发表于 2015-5-28 12:14
两个模块都不行?那估计是你程序有问题

暂时找到了问题,mspf5529需要和adxl连接在一起才行。看起来应该是由adxl把5529的scl和sda拉高,才能是的scl和sda有信号。

使用特权

评论回复
31
rui199009|  楼主 | 2015-5-28 16:53 | 只看该作者
追逐浪花 发表于 2015-5-28 13:23
那2410这些代码去哪里下载呢?

抱歉这个没有代码没有。

使用特权

评论回复
32
rui199009|  楼主 | 2015-5-28 16:54 | 只看该作者
lvyunhua 发表于 2015-5-28 13:44
引脚接对了没有啊,引脚有没有上拉电阻。

引脚是对的,现在找到问题了,需要adxl给5529的scl和sda上拉才能用示波器看到信号。但是返回的数据不对,正在修改中。

使用特权

评论回复
33
lvyunhua| | 2015-5-28 18:36 | 只看该作者
器件读写地址正确吗》?

使用特权

评论回复
34
玛尼玛尼哄| | 2015-5-30 10:21 | 只看该作者
UCB0CTL1 |= UCTXSTT;                    // I2C start condition
    while(UCB0CTL1 & UCTXSTT);              // Start condition sent?
    UCB0CTL1 |= UCTXSTP;                    // I2C stop condition
IIC这个发送接收很好用,不知道挂很多设备时候怎么做。

使用特权

评论回复
35
rui199009|  楼主 | 2015-6-2 20:52 | 只看该作者
lvyunhua 发表于 2015-5-28 18:36
器件读写地址正确吗》?

嗯对的,我模拟IIC时写的就是这个。现在就先用模拟来做了。

使用特权

评论回复
36
rui199009|  楼主 | 2015-6-2 20:53 | 只看该作者
玛尼玛尼哄 发表于 2015-5-30 10:21
UCB0CTL1 |= UCTXSTT;                    // I2C start condition
    while(UCB0CTL1 & UCTXSTT);       ...

不同设备的器件地址应该是不一样的,同一种设备接多个就不太清楚了。

使用特权

评论回复
37
Thor9| | 2015-6-7 20:51 | 只看该作者
学习了

使用特权

评论回复
38
玛尼玛尼哄| | 2015-6-15 14:04 | 只看该作者
好多协议都是接一个比较好搞,接多个,就麻烦了,还要考虑各种算法。

使用特权

评论回复
39
angerbird| | 2015-6-15 19:37 | 只看该作者
// USCI_B0 Data ISR
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = USCI_B0_VECTOR
__interrupt void USCI_B0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCI_B0_VECTOR))) USCI_B0_ISR (void)
#else
#error Compiler not supported!
#endif

请教高手程序中往往有这样的定义的是什么意思的?

使用特权

评论回复
40
tongbu2015| | 2015-6-20 14:47 | 只看该作者
rui199009 发表于 2015-5-27 15:58
官方代码
//******************************************************************************
//  MSP430 ...

这个程序需要多研究下的。

使用特权

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

本版积分规则