<?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>Sensors中的主题 MPR121 can not communction</title>
    <link>https://community.nxp.com/t5/Sensors/MPR121-can-not-communction/m-p/610835#M3732</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;I try to use mcu communcate the MPR121 ,raed all registers ,get 0xff.if somewhere wrong ? Have anyoneelse met this problem? My configration follow :&lt;/P&gt;&lt;P&gt;void mpr121QuickConfig(void) { &lt;BR /&gt; I2C_Write(0x80, 0x63); &lt;BR /&gt; I2C_Write(0x5e, 0x00);&lt;BR /&gt; // Section A &lt;BR /&gt; // This group controls filtering when data is &amp;gt; baseline. &lt;BR /&gt; //unsigned char para[4]={1,1,0,0};&lt;BR /&gt; //HalSensorWriteReg(MHD_R, para, 4);&lt;BR /&gt; I2C_Write(MHD_R, 0x01); &lt;BR /&gt; I2C_Write(NHD_R, 0x01); &lt;BR /&gt; I2C_Write(NCL_R, 0x00); &lt;BR /&gt; I2C_Write(FDL_R, 0x00); &lt;BR /&gt; // Section B &lt;BR /&gt; // This group controls filtering when data is &amp;lt; baseline. &lt;BR /&gt; //unsigned char para1[4]={1,1,0xff,0x02};&lt;BR /&gt; //HalSensorWriteReg(MHD_F, para1, 4);&lt;BR /&gt; I2C_Write(MHD_F, 0x01); &lt;BR /&gt; I2C_Write(NHD_F, 0x01); &lt;BR /&gt; I2C_Write(NCL_F, 0xFF); &lt;BR /&gt; I2C_Write(FDL_F, 0x02); &lt;BR /&gt; // Section C &lt;BR /&gt; // This group sets touch and release thresholds for each electrode &lt;BR /&gt; // unsigned char para2[24]={TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH&lt;BR /&gt; // ,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH};&lt;BR /&gt; // HalSensorWriteReg(ELE0_T, para2, 24);&lt;BR /&gt; I2C_Write(ELE0_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE0_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE1_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE1_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE2_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE2_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE3_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE3_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE4_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE4_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE5_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE5_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE6_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE6_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE7_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE7_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE8_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE8_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE9_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE9_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE10_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE10_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE11_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE11_R, REL_THRESH); &lt;BR /&gt; // Section D &lt;BR /&gt; // Set the Filter Configuration &lt;BR /&gt; // Set ESI2 &lt;BR /&gt; // unsigned char para3[2]={4,12};&lt;BR /&gt; //HalSensorWriteReg(FIL_CFG, para3, 2);&lt;BR /&gt; I2C_Write(FIL_CFG, 0x04); &lt;BR /&gt; // Section E &lt;BR /&gt; // Electrode Configuration &lt;BR /&gt; // Enable 6 Electrodes and set to run mode &lt;BR /&gt;// I2C_Write(ELE_CFG, 0x06); // Enable first 6 electrodes &lt;BR /&gt; // Section F &lt;BR /&gt; // Enable Auto Config and auto Reconfig &lt;BR /&gt; // unsigned char para4[4]={0x0b,0xc9,0x82,0xb5};&lt;BR /&gt; //HalSensorWriteReg(FIL_CFG, para4, 4);&lt;BR /&gt; I2C_Write(ATO_CFG0, 0x0B); &lt;BR /&gt; I2C_Write(ATO_CFGU, 0xC9); // USL = (Vdd-0.7)/vdd*256 = 0xC9 @3.3V &lt;BR /&gt; I2C_Write(ATO_CFGL, 0x82); // LSL = 0.65*USL = 0x82 @3.3V &lt;BR /&gt; I2C_Write(ATO_CFGT, 0xB5); // Target = 0.9*USL = 0xB5 @3.3V&lt;BR /&gt; // Set ELE_CFG to 0x00 to return to standby mode // &lt;BR /&gt; I2C_Write(ELE_CFG, 0x0C); // Enables all 12 Electrodes&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;the read function is&lt;/P&gt;&lt;P&gt;void ReadTouchKey(unsigned char *readbuffer)&lt;BR /&gt;{&lt;BR /&gt; unsigned char read[3];&lt;BR /&gt; read[0]=Read_Add(0x00,0xb4);&lt;BR /&gt; &lt;BR /&gt; read[1]=Read_Add(0x01,0xb4);&lt;BR /&gt; read[2]=Read_Add(0x5e,0xb4);&lt;BR /&gt; *readbuffer=*read;&lt;BR /&gt; *(readbuffer+1)=*(read+1);&lt;BR /&gt; *(readbuffer+2)=*(read+2);&lt;BR /&gt;}&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope get useful suggestion.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 28 Oct 2016 09:25:05 GMT</pubDate>
    <dc:creator>xuebinzhang</dc:creator>
    <dc:date>2016-10-28T09:25:05Z</dc:date>
    <item>
      <title>MPR121 can not communction</title>
      <link>https://community.nxp.com/t5/Sensors/MPR121-can-not-communction/m-p/610835#M3732</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;I try to use mcu communcate the MPR121 ,raed all registers ,get 0xff.if somewhere wrong ? Have anyoneelse met this problem? My configration follow :&lt;/P&gt;&lt;P&gt;void mpr121QuickConfig(void) { &lt;BR /&gt; I2C_Write(0x80, 0x63); &lt;BR /&gt; I2C_Write(0x5e, 0x00);&lt;BR /&gt; // Section A &lt;BR /&gt; // This group controls filtering when data is &amp;gt; baseline. &lt;BR /&gt; //unsigned char para[4]={1,1,0,0};&lt;BR /&gt; //HalSensorWriteReg(MHD_R, para, 4);&lt;BR /&gt; I2C_Write(MHD_R, 0x01); &lt;BR /&gt; I2C_Write(NHD_R, 0x01); &lt;BR /&gt; I2C_Write(NCL_R, 0x00); &lt;BR /&gt; I2C_Write(FDL_R, 0x00); &lt;BR /&gt; // Section B &lt;BR /&gt; // This group controls filtering when data is &amp;lt; baseline. &lt;BR /&gt; //unsigned char para1[4]={1,1,0xff,0x02};&lt;BR /&gt; //HalSensorWriteReg(MHD_F, para1, 4);&lt;BR /&gt; I2C_Write(MHD_F, 0x01); &lt;BR /&gt; I2C_Write(NHD_F, 0x01); &lt;BR /&gt; I2C_Write(NCL_F, 0xFF); &lt;BR /&gt; I2C_Write(FDL_F, 0x02); &lt;BR /&gt; // Section C &lt;BR /&gt; // This group sets touch and release thresholds for each electrode &lt;BR /&gt; // unsigned char para2[24]={TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH&lt;BR /&gt; // ,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH,TOU_THRESH,REL_THRESH};&lt;BR /&gt; // HalSensorWriteReg(ELE0_T, para2, 24);&lt;BR /&gt; I2C_Write(ELE0_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE0_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE1_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE1_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE2_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE2_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE3_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE3_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE4_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE4_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE5_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE5_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE6_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE6_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE7_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE7_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE8_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE8_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE9_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE9_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE10_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE10_R, REL_THRESH); &lt;BR /&gt; I2C_Write(ELE11_T, TOU_THRESH); &lt;BR /&gt; I2C_Write(ELE11_R, REL_THRESH); &lt;BR /&gt; // Section D &lt;BR /&gt; // Set the Filter Configuration &lt;BR /&gt; // Set ESI2 &lt;BR /&gt; // unsigned char para3[2]={4,12};&lt;BR /&gt; //HalSensorWriteReg(FIL_CFG, para3, 2);&lt;BR /&gt; I2C_Write(FIL_CFG, 0x04); &lt;BR /&gt; // Section E &lt;BR /&gt; // Electrode Configuration &lt;BR /&gt; // Enable 6 Electrodes and set to run mode &lt;BR /&gt;// I2C_Write(ELE_CFG, 0x06); // Enable first 6 electrodes &lt;BR /&gt; // Section F &lt;BR /&gt; // Enable Auto Config and auto Reconfig &lt;BR /&gt; // unsigned char para4[4]={0x0b,0xc9,0x82,0xb5};&lt;BR /&gt; //HalSensorWriteReg(FIL_CFG, para4, 4);&lt;BR /&gt; I2C_Write(ATO_CFG0, 0x0B); &lt;BR /&gt; I2C_Write(ATO_CFGU, 0xC9); // USL = (Vdd-0.7)/vdd*256 = 0xC9 @3.3V &lt;BR /&gt; I2C_Write(ATO_CFGL, 0x82); // LSL = 0.65*USL = 0x82 @3.3V &lt;BR /&gt; I2C_Write(ATO_CFGT, 0xB5); // Target = 0.9*USL = 0xB5 @3.3V&lt;BR /&gt; // Set ELE_CFG to 0x00 to return to standby mode // &lt;BR /&gt; I2C_Write(ELE_CFG, 0x0C); // Enables all 12 Electrodes&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;the read function is&lt;/P&gt;&lt;P&gt;void ReadTouchKey(unsigned char *readbuffer)&lt;BR /&gt;{&lt;BR /&gt; unsigned char read[3];&lt;BR /&gt; read[0]=Read_Add(0x00,0xb4);&lt;BR /&gt; &lt;BR /&gt; read[1]=Read_Add(0x01,0xb4);&lt;BR /&gt; read[2]=Read_Add(0x5e,0xb4);&lt;BR /&gt; *readbuffer=*read;&lt;BR /&gt; *(readbuffer+1)=*(read+1);&lt;BR /&gt; *(readbuffer+2)=*(read+2);&lt;BR /&gt;}&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope get useful suggestion.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Oct 2016 09:25:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/MPR121-can-not-communction/m-p/610835#M3732</guid>
      <dc:creator>xuebinzhang</dc:creator>
      <dc:date>2016-10-28T09:25:05Z</dc:date>
    </item>
  </channel>
</rss>

