<?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 MMA8451Q Int not clearing in Sensors</title>
    <link>https://community.nxp.com/t5/Sensors/MMA8451Q-Int-not-clearing/m-p/323149#M807</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;Description:&amp;nbsp; I'm using one of your MMA8451 3axis devices with a Nordic &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;Semi nrf51822.&amp;nbsp; I'm using the built-in function to detect a tap and &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;a flip.&amp;nbsp; The tap is directed to INT1 and the flip is directed to INT2.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;I can currently detect both interrupts and distinguish between &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;them based on which GPIO pin on the nrf51822 is driven.&amp;nbsp; The &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;GPIO pins are configured as pull-up's.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;I've been using int1 and the tap detection for a while with no &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;problem.&amp;nbsp; I added the flip detection to INT2 today and now, &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;occasionally, after the int serv. routine is triggered one, or the &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;other (depending on which was triggered) will not reset after &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;reading the appropriate status register.&amp;nbsp; I do read both status &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;registers each time to be safe - PL_STATUS_REG and &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;PULSE_SRC_REG - and the values look correct.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;I'm measuring the INT pin voltages and once this occurs either &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;INT1 or INT2 stays low and no more interrupts are generated by &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;the accel until a power cycle.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;Can you help with some suggestions as to what I'm doing &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;wrong?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;The init routing to set up the accel is in the attached file after the &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;pre-processor.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;void accel_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t regValue, newRegValue;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; turn_off_accel();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; newRegValue = 0x10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; regValue = twi_read_register(0x3A, 0x2A);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2A, (regValue &amp;amp; 0xC7) | 0x10);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x21, (0x00 | 0 &amp;lt;&amp;lt; 6 | 0 &amp;lt;&amp;lt; 5 | 1 &amp;lt;&amp;lt; 4 | 0 &amp;lt;&amp;lt; 3 | 1 &amp;lt;&amp;lt; 2 | 0 &amp;lt;&amp;lt; 1 | 1 &amp;lt;&amp;lt; 0));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t ac = ((uint8_t)((double)1.575/0.063));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x23, ((uint8_t)((double)1.575/0.063)));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x24, ((uint8_t)((double)1.575/0.063)));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x25, ((uint8_t)((double)2.65/0.063)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x26, ((uint8_t)(50 / 2.5)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A,0x27, ((uint8_t)(140 / 5.0)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2A, 0x10 | 0 &amp;lt;&amp;lt; 2);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2B, (0x00 | 1 &amp;lt;&amp;lt; 0 | 1 &amp;lt;&amp;lt; 3 | 1 &amp;lt;&amp;lt; 1 | 1 &amp;lt;&amp;lt; 4 | 0 &amp;lt;&amp;lt; 2));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2C, 0x00);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2D, (0x00 | 0 &amp;lt;&amp;lt; 2 | 1 &amp;lt;&amp;lt; 3 | 1 &amp;lt;&amp;lt; 4));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2E, (0x00 | 0 &amp;lt;&amp;lt; 2 | 1 &amp;lt;&amp;lt; 3 | 0 &amp;lt;&amp;lt; 4));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x11, 0x40);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x13, 0xC0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x14, (0x07 &amp;lt;&amp;lt; 3 | 0x01));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x12, ((uint8_t)(100 / 5.0)));&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 03 Feb 2026 23:06:27 GMT</pubDate>
    <dc:creator>scottbuchanan</dc:creator>
    <dc:date>2026-02-03T23:06:27Z</dc:date>
    <item>
      <title>MMA8451Q Int not clearing</title>
      <link>https://community.nxp.com/t5/Sensors/MMA8451Q-Int-not-clearing/m-p/323149#M807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;Description:&amp;nbsp; I'm using one of your MMA8451 3axis devices with a Nordic &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;Semi nrf51822.&amp;nbsp; I'm using the built-in function to detect a tap and &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;a flip.&amp;nbsp; The tap is directed to INT1 and the flip is directed to INT2.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;I can currently detect both interrupts and distinguish between &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;them based on which GPIO pin on the nrf51822 is driven.&amp;nbsp; The &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;GPIO pins are configured as pull-up's.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;I've been using int1 and the tap detection for a while with no &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;problem.&amp;nbsp; I added the flip detection to INT2 today and now, &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;occasionally, after the int serv. routine is triggered one, or the &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;other (depending on which was triggered) will not reset after &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;reading the appropriate status register.&amp;nbsp; I do read both status &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;registers each time to be safe - PL_STATUS_REG and &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;PULSE_SRC_REG - and the values look correct.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;I'm measuring the INT pin voltages and once this occurs either &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;INT1 or INT2 stays low and no more interrupts are generated by &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;the accel until a power cycle.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;Can you help with some suggestions as to what I'm doing &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;wrong?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;The init routing to set up the accel is in the attached file after the &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;pre-processor.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Helvetica; font-size: 12px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;void accel_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t regValue, newRegValue;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; turn_off_accel();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; newRegValue = 0x10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; regValue = twi_read_register(0x3A, 0x2A);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2A, (regValue &amp;amp; 0xC7) | 0x10);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x21, (0x00 | 0 &amp;lt;&amp;lt; 6 | 0 &amp;lt;&amp;lt; 5 | 1 &amp;lt;&amp;lt; 4 | 0 &amp;lt;&amp;lt; 3 | 1 &amp;lt;&amp;lt; 2 | 0 &amp;lt;&amp;lt; 1 | 1 &amp;lt;&amp;lt; 0));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t ac = ((uint8_t)((double)1.575/0.063));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x23, ((uint8_t)((double)1.575/0.063)));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x24, ((uint8_t)((double)1.575/0.063)));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x25, ((uint8_t)((double)2.65/0.063)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x26, ((uint8_t)(50 / 2.5)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A,0x27, ((uint8_t)(140 / 5.0)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2A, 0x10 | 0 &amp;lt;&amp;lt; 2);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2B, (0x00 | 1 &amp;lt;&amp;lt; 0 | 1 &amp;lt;&amp;lt; 3 | 1 &amp;lt;&amp;lt; 1 | 1 &amp;lt;&amp;lt; 4 | 0 &amp;lt;&amp;lt; 2));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2C, 0x00);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2D, (0x00 | 0 &amp;lt;&amp;lt; 2 | 1 &amp;lt;&amp;lt; 3 | 1 &amp;lt;&amp;lt; 4));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x2E, (0x00 | 0 &amp;lt;&amp;lt; 2 | 1 &amp;lt;&amp;lt; 3 | 0 &amp;lt;&amp;lt; 4));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x11, 0x40);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x13, 0xC0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x14, (0x07 &amp;lt;&amp;lt; 3 | 0x01));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; twi_write_register(0x3A, 0x12, ((uint8_t)(100 / 5.0)));&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2026 23:06:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MMA8451Q-Int-not-clearing/m-p/323149#M807</guid>
      <dc:creator>scottbuchanan</dc:creator>
      <dc:date>2026-02-03T23:06:27Z</dc:date>
    </item>
  </channel>
</rss>

