<?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 LPC1769 with HMC5883L using I2C in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-with-HMC5883L-using-I2C/m-p/591272#M29516</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by f_baggar@hotmail.com on Mon Nov 10 12:42:29 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I need help interacting LPC1769 with HMC5883L through I2C. I wrote the code below to read the register 0x0A of the HMC5883L&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but when i check the signal through logic analyzer i get blank. I dont see any SDA/SDC logics on the logic analyzer. What is the problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "lpc17xx.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "type.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "i2c.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;extern volatile uint8_t I2CMasterBuffer[I2C_PORT_NUM][BUFSIZE];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern volatile uint8_t I2CSlaveBuffer[I2C_PORT_NUM][BUFSIZE];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern volatile uint32_t I2CReadLength[I2C_PORT_NUM];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern volatile uint32_t I2CWriteLength[I2C_PORT_NUM];&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PORT_USED1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; uint32_t i;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* SystemClockUpdate() updates the SystemFrequency variable */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; SystemClockUpdate();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C1Init( );/* initialize I2c1 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CWriteLength[PORT_USED] = 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CReadLength[PORT_USED] = 4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CMasterBuffer[PORT_USED][0] = sensor_ADDR;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CMasterBuffer[PORT_USED][1] = 0x0A;/* address */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for ( i = 0; i &amp;lt; 0x200000; i++ );/* Delay after write */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CMasterBuffer[PORT_USED][2] = sensor_ADDR | RD_BIT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CEngine( PORT_USED );&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* Check the content of the Master and slave buffer */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while ( 1 );&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* sensor_ADDR is 0x3C&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* RD_BIT 0x01&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:51:11 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:51:11Z</dc:date>
    <item>
      <title>LPC1769 with HMC5883L using I2C</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-with-HMC5883L-using-I2C/m-p/591272#M29516</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by f_baggar@hotmail.com on Mon Nov 10 12:42:29 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I need help interacting LPC1769 with HMC5883L through I2C. I wrote the code below to read the register 0x0A of the HMC5883L&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but when i check the signal through logic analyzer i get blank. I dont see any SDA/SDC logics on the logic analyzer. What is the problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "lpc17xx.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "type.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "i2c.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;extern volatile uint8_t I2CMasterBuffer[I2C_PORT_NUM][BUFSIZE];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern volatile uint8_t I2CSlaveBuffer[I2C_PORT_NUM][BUFSIZE];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern volatile uint32_t I2CReadLength[I2C_PORT_NUM];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern volatile uint32_t I2CWriteLength[I2C_PORT_NUM];&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PORT_USED1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; uint32_t i;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* SystemClockUpdate() updates the SystemFrequency variable */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; SystemClockUpdate();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C1Init( );/* initialize I2c1 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CWriteLength[PORT_USED] = 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CReadLength[PORT_USED] = 4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CMasterBuffer[PORT_USED][0] = sensor_ADDR;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CMasterBuffer[PORT_USED][1] = 0x0A;/* address */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for ( i = 0; i &amp;lt; 0x200000; i++ );/* Delay after write */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CMasterBuffer[PORT_USED][2] = sensor_ADDR | RD_BIT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I2CEngine( PORT_USED );&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* Check the content of the Master and slave buffer */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while ( 1 );&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* sensor_ADDR is 0x3C&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* RD_BIT 0x01&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:51:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-with-HMC5883L-using-I2C/m-p/591272#M29516</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:51:11Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1769 with HMC5883L using I2C</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-with-HMC5883L-using-I2C/m-p/591273#M29517</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Mon Nov 10 14:02:10 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;&lt;SPAN&gt;Quote: &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:f_baggar@hotmail.com"&gt;f_baggar@hotmail.com&lt;/A&gt;&lt;/STRONG&gt;&lt;BR /&gt;... i check the signal through logic analyzer i get blank. I dont see any SDA/SDC logics on the logic analyzer. What is the problem?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Would suggest to check SCL&amp;nbsp; :) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Your wrong code should at least generate a clock signal...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If not, check your hardware (Pin setting, pull-ups)...&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:51:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-with-HMC5883L-using-I2C/m-p/591273#M29517</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:51:12Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1769 with HMC5883L using I2C</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-with-HMC5883L-using-I2C/m-p/591274#M29518</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by f_baggar@hotmail.com on Mon Nov 10 14:47:50 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I used the same hardware with arduino and it worked fine.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:51:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-with-HMC5883L-using-I2C/m-p/591274#M29518</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:51:12Z</dc:date>
    </item>
  </channel>
</rss>

