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.

[参考译文] CCS/MSP430F5529:通用串行通信接口- I2C 模式-传输数据格式

Guru**** 2555630 points
Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/595756/ccs-msp430f5529-universal-serial-communication-interface---i2c-mode---transmitting-data-format

器件型号:MSP430F5529

工具/软件:Code Composer Studio

您好!

在我的项目中、我需要使用 I2C 模式来传输数据、这是一个十进制的变量。 我是否必须在传输前将其转换为十六进制?

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    μ I²C 模块发送字节。 在这些字节中编码的内容无关紧要。

    但是、这些字节的格式对于接收器很重要。 什么软件接收此数据? 它需要哪种格式?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Clemens、

    感谢你的答复。 我还有一个问题。

    我希望在按下按钮后仅产生一个短脉冲、并且不希望该脉冲像 PWM 一样继续。
    使用 MSP430F5529、我需要打开 P1.2 250微秒、然后将其关闭。

    请查看我的代码:

    #include

    int main(){
    WDTCTL = WDTPW + WDTHOLD;
    P1DIR |= BIT2;        //将 P1.2设置为输出
    P1SEL |= BIT2;        //选择计时器功能
    P1REN |= BIT1;       //启用 P1.1内部电阻
    P1OUT |= BIT1;        //上拉电阻
    P1IE |= BIT1;            //启用 P1.1中断
    P1IFG &=~BIT1;      

      
    _bis_SR_register (LPM0_bits + GIE);   
    for (;;)
    {}

    #pragma vector = Port1_vector
    _interrupt void Port1_ISR (void)

    /*在这里,我需要一个占空比为250us 的脉冲,频率为150Hz。 因此、我发现周期为660 us。
    要仅开发一个脉冲并停止 PWM、是否需要使用 OUTMOD_5将其复位? 我该怎么做?
    *
    TA0CCR0 = 660;
    TA0CCTL1 = OUTMOD_7;
    TA0CCR1 = 2;
    TA0CTL = tassel_1 + MC_1 + TACLR;
    P1IFG &=~BIT1;

    非常感谢您的帮助。

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

    您 µs 简单地设置输出、将 CCR0配置为250 μ s、启动 TA0、并在计时器溢出中断中清除输出并停止计时器。 (无需计时器输出。)