<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: MMA8451Q: I2C PROBLEM: Reading communication with mma8451Q Accelerometer and msp430 in Sensors</title>
    <link>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792797#M5123</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi William,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the 7-bit slave address is 0x1D (SA0 = 1), you should:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px 0px 0px 30px;"&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send a start sequence&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send 0x3A // slave address with the R/W bit low or 0x1D&amp;lt;&amp;lt;1&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send 0x0D //address of the WHO_AM_I register&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send a start sequence again (repeated start)&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send 0x3B // slave address with the R/W bit high or (0x1D&amp;lt;&amp;lt;1)|0x01&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Read data byte from the 0x0D register&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send NAK and the stop sequence.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking at the screenshot, the first byte seems to be 0x1C which is wrong. You need to&amp;nbsp;modify your source code so that it corresponds to the sequence above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Tomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Aug 2018 11:55:36 GMT</pubDate>
    <dc:creator>TomasVaverka</dc:creator>
    <dc:date>2018-08-16T11:55:36Z</dc:date>
    <item>
      <title>MMA8451Q: I2C PROBLEM: Reading communication with mma8451Q Accelerometer and msp430</title>
      <link>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792794#M5120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I implemented an accelerometer MMA8451Q with a MSP430F5419.&lt;/P&gt;&lt;P&gt;I'm trying to read the accelerometer register via I2c which is its communication protocol but it is not reading the correct value.&lt;/P&gt;&lt;P&gt;reading a pre-establish register for example device id the lecture are wrong, ¿some ideas to fix this issue?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I check SDA and SCL with oscilloscope the signals are correct. interrupts are enabled.&lt;/P&gt;&lt;P&gt;And ports configuration are like this.&lt;/P&gt;&lt;P&gt;Anyone can help to solve&lt;/P&gt;&lt;P&gt;Writing a register i see the correct bytes send to accelerometer and ack as well.&lt;/P&gt;&lt;P&gt;To read register the bytes send by msp are correct but the bytes received by the msp are wrong.&lt;/P&gt;&lt;P&gt;i hope this clarify the issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2026 21:59:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792794#M5120</guid>
      <dc:creator>j_reig_eng</dc:creator>
      <dc:date>2026-02-03T21:59:05Z</dc:date>
    </item>
    <item>
      <title>Re: MMA8451Q: I2C PROBLEM: Reading communication with mma8451Q Accelerometer and msp430</title>
      <link>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792795#M5121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi William,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have an oscilloscope or a logic analyzer, can you please post here a plot illustrating what is going on the bus when you read the WHO_AM_I (0x0D) register?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To read the WHO_AM_I register (when SA0 = 0) you have to:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Send a start sequence&lt;/LI&gt;&lt;LI&gt;Send 0x38 // slave address with the R/W bit low or 0x1C&amp;lt;&amp;lt;1&lt;/LI&gt;&lt;LI&gt;Send 0x0D //address of the WHO_AM_I register&lt;/LI&gt;&lt;LI&gt;Send a start sequence again (repeated start)&lt;/LI&gt;&lt;LI&gt;Send 0x39 // slave address with the R/W bit high or (0x1C&amp;lt;&amp;lt;1)|0x01&lt;/LI&gt;&lt;LI&gt;Read data byte from the 0x0D register&lt;/LI&gt;&lt;LI&gt;Send NAK and the stop sequence.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is an example for the MMA8652FC whose ID is 0x4A and the 7-bit slave address 0x1D:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Who_Am_I+register+read.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/63067i91B10EADBF5886C5/image-size/large?v=v2&amp;amp;px=999" role="button" title="Who_Am_I+register+read.JPG.jpg" alt="Who_Am_I+register+read.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A common problem with the read operation is incorrectly sending a stop condition (a low to high transition of SDA while SCL is high) instead of a repeated start condition after the second byte (in this case 0x0D). The correct way is to release the SDA line (so that it transitiones to high) before the SCL line goes high.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Tomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Aug 2018 08:05:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792795#M5121</guid>
      <dc:creator>TomasVaverka</dc:creator>
      <dc:date>2018-08-16T08:05:19Z</dc:date>
    </item>
    <item>
      <title>Re: MMA8451Q: I2C PROBLEM: Reading communication with mma8451Q Accelerometer and msp430</title>
      <link>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792796#M5122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi tomas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i attached a picture of&amp;nbsp; Who_am_i register(0x0D) the expected value would be 0x1A but the value read are is 0xE9+NAK.&lt;span class="lia-inline-image-display-wrapper" image-alt="reading Who_Am_I.JPG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/63254i737D5BA6F954102D/image-size/large?v=v2&amp;amp;px=999" role="button" title="reading Who_Am_I.JPG" alt="reading Who_Am_I.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Slave addres is 0x1D&lt;/P&gt;&lt;P&gt;But the accelerometer take the first 7 bits.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Aug 2018 09:42:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792796#M5122</guid>
      <dc:creator>j_reig_eng</dc:creator>
      <dc:date>2018-08-16T09:42:53Z</dc:date>
    </item>
    <item>
      <title>Re: MMA8451Q: I2C PROBLEM: Reading communication with mma8451Q Accelerometer and msp430</title>
      <link>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792797#M5123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi William,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the 7-bit slave address is 0x1D (SA0 = 1), you should:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px 0px 0px 30px;"&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send a start sequence&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send 0x3A // slave address with the R/W bit low or 0x1D&amp;lt;&amp;lt;1&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send 0x0D //address of the WHO_AM_I register&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send a start sequence again (repeated start)&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send 0x3B // slave address with the R/W bit high or (0x1D&amp;lt;&amp;lt;1)|0x01&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Read data byte from the 0x0D register&lt;/LI&gt;&lt;LI style="border: 0px; font-weight: inherit; margin: 0.5ex 0px;"&gt;Send NAK and the stop sequence.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking at the screenshot, the first byte seems to be 0x1C which is wrong. You need to&amp;nbsp;modify your source code so that it corresponds to the sequence above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Tomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Aug 2018 11:55:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA8451Q-I2C-PROBLEM-Reading-communication-with-mma8451Q/m-p/792797#M5123</guid>
      <dc:creator>TomasVaverka</dc:creator>
      <dc:date>2018-08-16T11:55:36Z</dc:date>
    </item>
  </channel>
</rss>

