<?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 Use Printf for USB in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Use-Printf-for-USB/m-p/527428#M461</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ex-kayoda on Tue Sep 21 16:10:35 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In order to use printf to format and output data via USB, I've changed __write function to buffer chars and it's working. I'm not very familiar with printf and so I'm not sure if there is a more elegant solution ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
volatile unsigned int string_counter;
volatile char string_buffer[64];&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; //max USB buffer size LPC1343
 
int __write (int iFileHandle, uint8_t *pcBuffer, uint8_t iLength)
{
&amp;nbsp; unsigned char len_count;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //len counter
&amp;nbsp; unsigned char print=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //print flag
&amp;nbsp; RFID_REL_ON;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Scope output
&amp;nbsp; for(len_count=0;len_count&amp;lt; iLength;len_count++)//read loop
 {
&amp;nbsp; string_buffer[string_counter]= *pcBuffer;&amp;nbsp; //fill buffer
&amp;nbsp; if(*pcBuffer == 0x0D)print=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //check return
&amp;nbsp; pcBuffer++;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //inc buffer pointer
&amp;nbsp; string_counter++;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //inc counter
 }
 if((string_counter&amp;gt;63) || print)&amp;nbsp;&amp;nbsp;&amp;nbsp; //if max buffer or return
 {
&amp;nbsp; USB_WriteEP (CDC_DEP_IN, (unsigned char *)&amp;amp;string_buffer[0],string_counter);
&amp;nbsp; string_counter=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reset counter
 }
 RFID_REL_OFF;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Scope output
 return iLength;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kayoda&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 23:03:22 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T23:03:22Z</dc:date>
    <item>
      <title>Use Printf for USB</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Use-Printf-for-USB/m-p/527428#M461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ex-kayoda on Tue Sep 21 16:10:35 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In order to use printf to format and output data via USB, I've changed __write function to buffer chars and it's working. I'm not very familiar with printf and so I'm not sure if there is a more elegant solution ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
volatile unsigned int string_counter;
volatile char string_buffer[64];&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; //max USB buffer size LPC1343
 
int __write (int iFileHandle, uint8_t *pcBuffer, uint8_t iLength)
{
&amp;nbsp; unsigned char len_count;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //len counter
&amp;nbsp; unsigned char print=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //print flag
&amp;nbsp; RFID_REL_ON;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Scope output
&amp;nbsp; for(len_count=0;len_count&amp;lt; iLength;len_count++)//read loop
 {
&amp;nbsp; string_buffer[string_counter]= *pcBuffer;&amp;nbsp; //fill buffer
&amp;nbsp; if(*pcBuffer == 0x0D)print=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //check return
&amp;nbsp; pcBuffer++;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //inc buffer pointer
&amp;nbsp; string_counter++;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //inc counter
 }
 if((string_counter&amp;gt;63) || print)&amp;nbsp;&amp;nbsp;&amp;nbsp; //if max buffer or return
 {
&amp;nbsp; USB_WriteEP (CDC_DEP_IN, (unsigned char *)&amp;amp;string_buffer[0],string_counter);
&amp;nbsp; string_counter=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reset counter
 }
 RFID_REL_OFF;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Scope output
 return iLength;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kayoda&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:03:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Use-Printf-for-USB/m-p/527428#M461</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:03:22Z</dc:date>
    </item>
  </channel>
</rss>

