This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR2633:I2C(初始化)问题?

Guru**** 2489685 points
Other Parts Discussed in Thread: DRV2605L, CAPTIVATE-PGMR, CAPTIVATE-PHONE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1555805/msp430fr2633-i2c-initialization-issue

器件型号:MSP430FR2633
主题中讨论的其他器件:CAPTIVATE-PGMR、DRV2605L、 CAPTIVATE-PHONE

工具/软件:

您好的团队、  

此示例适用于 通过 6 引脚连接器连接到 CAPTIVATE-PGMR(CAPTIVATE-PGMR—CapTIvateTm 技术指南 1.83.00.08 文档)的 PCB、用于对 CapTIvate 软件进行编程、调试和连接。 4 针连接器连接到 Adafruit 分线板、用于与 DRV2605L 触觉驱动器进行 I2C 通信、其中包括上拉电阻器(Adafruit DRV2605L Haptic Motor Controller - STEMMA QT / Qwiic:ID 2305:Adafruit Industries、独特有趣的 DIY 电子产品和套件)

我还附上了名为 Button_Joy.zip“的源代码。  

e2e.ti.com/.../OneButton_5F00_Joy.zip

此工程最初通过 CapTIvate 软件生成、 这只是微控制器设置的一个按钮、电容式感应功能运行正常。 然后、我尝试添加 I2C 功能、但该器件无法正常工作。  

现在、问题是 代码在第 247 行停顿、或者每当我们尝试通过 I2C 发送一个字节时  (执行步骤初始化 I2C 模块后)、我们看不到 SDA 和 SCL 线路上的任何操作、它们只是保持高电平。  

我不确定 I2C 模块是否已正确初始化。 您能否提供任何帮助、帮助我们了解为什么会陷入困境?

此致、

Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    capt_bsp.c 显示:

       P1SEL1 = (GPIO_PIN2 | GPIO_PIN3);

    设置 P1.2/.3 的次要功能。 根据数据表 (SLAS942E) 表 6-17、该表规定 I2C 函数 PSEL=01、 即 主函数 。

    此陈述已被注释掉、但正确:

    	/*GPIO_setAsPeripheralModuleFunctionInputPin(
    		GPIO_PORT_P1,
    		GPIO_PIN2 + GPIO_PIN3,
    		GPIO_PRIMARY_MODULE_FUNCTION
    	);*/ 

    我建议您取消注释(或修复 Capt_bsp.c)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Bruce、

    我们一开始将其设置为注释输出配置(作为主要函数)、然后它就无法正常工作。  
    因此、我们对数据表进行了更深入的研究、认为它实际上可能是次要函数、因此将其更改为当前代码。  
    所以、我认为这将是另一个问题。  
    您知道我们是否正确配置了 I2C 的时钟吗?
    此致、
    Luke  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    设置 PSEL=01(“PRIMARY")“)时、症状是否相同? 具体来说:P1.2/.3 上完全没有活动、两者都坐高?  

    根据 Capt_bsp.c 中的时钟设置、I2C 参数看起来正常。(SMCLK=I2C/8 16MHz)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Luke、

    用户可以按照 IP 电话 演示操作、在演示面板上查看如何控制 DRV26x 器件。 演示工程位于以下默认 CapTIvate 设计中心目录中:

    C:\ti\msp\CapTIvateDesignCenter_1.83.00.08\CapTIvateDesignCenter\Example_projects\CaptivateDesignCenterWorkspace\TI_examples\FR2633_CAPTIVATE-phone

    在该工程中、查找 I2CMaster 文件夹。  它具有 I2C 主设备驱动程序。  还有一个名为 DRV26x 的文件夹、用于驱动 DRV 驱动器。