<?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: How to read register values from a specific register using fsl_i2c.c driver? in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-read-register-values-from-a-specific-register-using-fsl/m-p/728642#M29465</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="313436" data-username="puddletowntom" href="https://community.nxp.com/people/puddletowntom" style="color: #5e89c1; background-color: #ffffff; border: 0px; font-weight: 600; text-decoration: none; font-size: 11.9994px;"&gt;Ronan O&amp;amp;amp;#39;Driscoll&lt;/A&gt;&lt;SPAN style="color: #646464; background-color: #ffffff;"&gt;&lt;SPAN&gt;&amp;nbsp;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV style="font-size: 14px;"&gt;&lt;SPAN&gt;Thank you for your interest in NXP Semiconductor products and&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="font-size: 14px;"&gt;&lt;SPAN&gt;the opportunity to serve you.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;I‘d highly recommend you to use the&lt;STRONG&gt;&amp;nbsp;I2C_MasterTransferBlocking()&lt;/STRONG&gt; to write or read the external I2C device, such as EEPROM memory device.&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;Have a great day,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;TIC&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 23 Mar 2018 08:42:54 GMT</pubDate>
    <dc:creator>jeremyzhou</dc:creator>
    <dc:date>2018-03-23T08:42:54Z</dc:date>
    <item>
      <title>How to read register values from a specific register using fsl_i2c.c driver?</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-read-register-values-from-a-specific-register-using-fsl/m-p/728641#M29464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I m a little confused with this driver. I have previously used I2C to read and write to registers but I m stuck trying to do this with fsl_i2c.c. I have run the sample code from the dev kit, SDK_2.2.1_LPCXpresso54114. This included the code&amp;nbsp;i2c_polling_transfer and&amp;nbsp;i2c_interrupt_transfer. This worked successfully and I was able to send and receive the example byte array through I2C. However I m trying to use these functions with a peripheral to write to a specific register. I m a bit mixed up as to whats defined as a register address and a register value.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, if I want to read from the register value of a device at an address such as 0x20. Would I do the following,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define I2C_MASTER_SLAVE_ADDR_7BIT &amp;nbsp;&amp;nbsp;&amp;nbsp;0x20&lt;/P&gt;&lt;P&gt;#define I2C_DATA_LENGTH &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1U&lt;/P&gt;&lt;P&gt;#define EXAMPLE_I2C_MASTER_BASE (I2C6_BASE)&lt;/P&gt;&lt;P&gt;#define EXAMPLE_I2C_SLAVE_BASE (I2C6_BASE)&lt;/P&gt;&lt;P&gt;#define EXAMPLE_I2C_MASTER ((I2C_Type *)EXAMPLE_I2C_MASTER_BASE)&lt;BR /&gt;#define EXAMPLE_I2C_SLAVE ((I2C_Type *)EXAMPLE_I2C_SLAVE_BASE)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;g_master_buff[0] = 0x00;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.slaveAddress = I2C_MASTER_SLAVE_ADDR_7BIT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.direction = kI2C_Write;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.subaddress = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.subaddressSize = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.data = g_master_buff;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.dataSize = I2C_DATA_LENGTH;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.flags = kI2C_TransferDefaultFlag;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reVal = I2C_MasterTransferBlocking(EXAMPLE_I2C_MASTER, &amp;amp;masterXfer);&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;I just want to read from a device register but I don't know how to define my master buffer, eg g_master_buff[0] = 0x00;.&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Can I just run the function,&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;I2C_MasterReadBlocking(&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;EXAMPLE_I2C_MASTER_BASE&lt;/SPAN&gt;, g_test_receive, I2C_DATA_LENGTH, 0);&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Or do you just need to use a&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: 25.95px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;I2C_MasterWriteBlocking() function and the slave callback function will automatically send back the register values?&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: 25.95px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;Thank you.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Mar 2018 15:43:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-read-register-values-from-a-specific-register-using-fsl/m-p/728641#M29464</guid>
      <dc:creator>puddletowntom</dc:creator>
      <dc:date>2018-03-22T15:43:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to read register values from a specific register using fsl_i2c.c driver?</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-read-register-values-from-a-specific-register-using-fsl/m-p/728642#M29465</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="313436" data-username="puddletowntom" href="https://community.nxp.com/people/puddletowntom" style="color: #5e89c1; background-color: #ffffff; border: 0px; font-weight: 600; text-decoration: none; font-size: 11.9994px;"&gt;Ronan O&amp;amp;amp;#39;Driscoll&lt;/A&gt;&lt;SPAN style="color: #646464; background-color: #ffffff;"&gt;&lt;SPAN&gt;&amp;nbsp;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV style="font-size: 14px;"&gt;&lt;SPAN&gt;Thank you for your interest in NXP Semiconductor products and&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="font-size: 14px;"&gt;&lt;SPAN&gt;the opportunity to serve you.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;I‘d highly recommend you to use the&lt;STRONG&gt;&amp;nbsp;I2C_MasterTransferBlocking()&lt;/STRONG&gt; to write or read the external I2C device, such as EEPROM memory device.&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;Have a great day,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;TIC&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Mar 2018 08:42:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-read-register-values-from-a-specific-register-using-fsl/m-p/728642#M29465</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2018-03-23T08:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to read register values from a specific register using fsl_i2c.c driver?</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-read-register-values-from-a-specific-register-using-fsl/m-p/728643#M29466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I managed to get this working. There was a very useful function I found on some website that helped.&amp;nbsp;&lt;/P&gt;&lt;P&gt;void VEML6075_Init()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_InitI2C();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; //VEML6075，0x40&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C_MasterGetDefaultConfig(&amp;amp;masterConfig); /*******************************************************************************************************/&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterConfig.baudRate_Bps = I2C_BAUDRATE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceClock = I2C_MASTER_CLK_FREQ;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C_MasterInit(EXAMPLE_I2C_MASTER_BASEADDR, &amp;amp;masterConfig, sourceClock); /*******************************************************************************************************/&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;txSize = 3;&lt;BR /&gt;&amp;nbsp;rxSize = 0;&lt;BR /&gt;&amp;nbsp;txData[0]=0x00;&lt;BR /&gt;&amp;nbsp;txData[1]=0x40; // 800ms&lt;BR /&gt;&amp;nbsp;txData[3]=0x00; ;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;SetupXferRecAndExecute(I2C_ADDR_7BIT, txData,txSize, rxData, rxSize);/*******************************************************************************************************/&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;txSize = 1;&lt;BR /&gt;&amp;nbsp;rxSize = 2;&lt;BR /&gt;&amp;nbsp;txData[0]=0x0C;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;SetupXferRecAndExecute(I2C_ADDR_7BIT, txData,txSize, rxData, rxSize);/*******************************************************************************************************/&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;static void SetupXferRecAndExecute(uint8_t devAddr,uint8_t *txBuffPtr,uint16_t txSize,uint8_t *rxBuffPtr,uint16_t rxSize)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;masterXfer, 0, sizeof(masterXfer));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.slaveAddress = VEML6075_I2C_ADDR_7BIT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.direction = kI2C_Write;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.subaddress = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.subaddressSize = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.data = txBuffPtr;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.dataSize = txSize;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.flags = kI2C_TransferNoStopFlag;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C_MasterTransferBlocking(EXAMPLE_I2C_MASTER_BASEADDR, &amp;amp;masterXfer);/*******************************************************************************************************/&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;masterXfer, 0, sizeof(masterXfer));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.slaveAddress = VEML6075_I2C_ADDR_7BIT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.direction = kI2C_Read;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.subaddress = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.subaddressSize = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.data = rxBuffPtr;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.dataSize = rxSize;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; masterXfer.flags = kI2C_TransferRepeatedStartFlag;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C_MasterTransferBlocking(EXAMPLE_I2C_MASTER_BASEADDR, &amp;amp;masterXfer); /*******************************************************************************************************/&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2018 11:29:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-read-register-values-from-a-specific-register-using-fsl/m-p/728643#M29466</guid>
      <dc:creator>puddletowntom</dc:creator>
      <dc:date>2018-03-27T11:29:02Z</dc:date>
    </item>
  </channel>
</rss>

