打印

求教有关MSP432的I2C调试。

[复制链接]
2609|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuleda|  楼主 | 2017-2-10 12:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题描述:
1、参考例程代码,配置MSP432的I2C为从机状态,另一块开发板作主机,主机通过I2C连续循环向从机写入、读出数据;
2、系统主频使用例程默认的3M时,通信正常,主从机可以连续交互数据;
3、修改系统主频为48M,第一次循环的写入、读出过程正常,第二次循环写入正常,读出失败——MSP432将SCL持续拉低(从机拉低SCL符合I2C协议,用于从机通知主机等待——主机等等我,别那么快);
4、通信停止后,用MAP_I2C_getInterruptStatus函数读出系统中断标记,发现有发送中断被挂起,而MAP_I2C_getEnabledInterruptStatus函数读取已使能中断,却没有任何中断记录;
5、强行跳入并执行发送中断对应的代码,MSP432立刻释放SCL,通信继续;
6、问题表现为:更改系统主频为48M,I2C虽然标记了I2C发送中断,但未能进入中断;主频为3M时,并没有这个问题。

求教:
1、修改系统主频,对I2C模块有什么影响,需要同步修改I2C相关配置吗?
2、官方例程使用库模式配置I2C,调试过程与寄存器模式有和不同,为何在调试过程中找不到相应的寄存器,取而代之的是“HWREG16(XXX)”。

相关帖子

沙发
shenmu2012| | 2017-2-10 21:14 | 只看该作者
这个先看下中断不被响应是啥问题的哈

使用特权

评论回复
板凳
backlugin| | 2017-2-10 21:59 | 只看该作者
修改系统的时钟,影响iic的读写速度。

使用特权

评论回复
地板
backlugin| | 2017-2-10 21:59 | 只看该作者
建议使用IO进行模拟iic,这样才能好调试。

使用特权

评论回复
5
selongli| | 2017-2-11 11:05 | 只看该作者
你用msp432自带的iic吗?

使用特权

评论回复
6
selongli| | 2017-2-11 11:05 | 只看该作者
系统时钟对iic配置没有影响,就是iic配置的问题。

使用特权

评论回复
7
febgxu| | 2017-2-12 22:27 | 只看该作者
修改系统主频,对I2C模块没有影响。

使用特权

评论回复
8
febgxu| | 2017-2-12 22:29 | 只看该作者
配置I2C需要软件进行设置,不如模拟IIC调试简单。

使用特权

评论回复
9
xuleda|  楼主 | 2017-2-13 08:55 | 只看该作者
谢谢各位的热心帮助!后续分析结果如下:
1、例程I2C代码是收、发交替进行的、所有事物采用中断方式处理;MSP432初始化完成后,首先使能收中断、关发送中断;接收完成后触发接收中断,关接收中断、使能发送中断,启动发送;发送完成后触发发送中断,开接收中断,关发送中断;接收、发送中断交替关闭、使能,如此反复。
2、通信中断后,确实发现发送中断被挂起而未触发中断,分析发现是发送中断被关闭,和“shenmu2012”的分析一致。
3、取消接收、发送中断的交替关闭、使能,始终使能接收、发送中断,通信正常。
4、软件模拟I2C,一个是CPU需要持续查询,费CPU资源;另一个是实时性差;再一个是影响CPU休眠(要求低功耗)。

使用特权

评论回复
10
i1mcu| | 2017-2-15 09:57 | 只看该作者
IIC的读取速度有关系。

使用特权

评论回复
11
i1mcu| | 2017-2-15 09:59 | 只看该作者
如果低频率的时候读取准确,试着降低频率才行。

使用特权

评论回复
12
Soraka| | 2017-2-16 19:49 | 只看该作者
建议使用IO进行模拟iic

使用特权

评论回复
13
lefeng| | 2017-2-26 18:16 | 只看该作者
用IO进行模拟iic的程序网上很多,好移植

使用特权

评论回复
14
kmzuaz| | 2017-2-26 22:36 | 只看该作者
频率不影响iic的读取。

使用特权

评论回复
15
kmzuaz| | 2017-2-26 22:38 | 只看该作者
你设置的iic读取频率多快

使用特权

评论回复
16
houjiakai| | 2017-2-27 16:22 | 只看该作者
频率改变需要修改iic频率?

使用特权

评论回复
17
houjiakai| | 2017-2-27 16:25 | 只看该作者
MAP_I2C_getInterruptStatus中断不能执行?

使用特权

评论回复
18
可可球| | 2017-2-27 21:55 | 只看该作者
试试降低频率

使用特权

评论回复
19
dirtwillfly| | 2017-2-28 10:29 | 只看该作者
xuleda 发表于 2017-2-13 08:55
谢谢各位的热心帮助!后续分析结果如下:
1、例程I2C代码是收、发交替进行的、所有事物采用中断方式处理;M ...

使用特权

评论回复
20
vibra2016| | 2017-2-28 20:19 | 只看该作者
这个注意时钟频率的设置的

使用特权

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

本版积分规则

2

主题

4

帖子

1

粉丝