<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Embedded-Code.com</title>
	<atom:link href="http://www.embedded-code.com/source-code/feed" rel="self" type="application/rss+xml" />
	<link>http://www.embedded-code.com/source-code</link>
	<description></description>
	<lastBuildDate>Fri, 27 Jan 2012 10:18:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Texas Instruments TMP100 I2C Temperature Sensor Driver</title>
		<link>http://www.embedded-code.com/source-code/miscellaneous/temperature-sensor-ics/texas-instruments-tmp100-i2c-temperature-sensor-driver</link>
		<comments>http://www.embedded-code.com/source-code/miscellaneous/temperature-sensor-ics/texas-instruments-tmp100-i2c-temperature-sensor-driver#comments</comments>
		<pubDate>Fri, 14 Oct 2011 15:07:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Temperature Sensor IC's]]></category>
		<category><![CDATA[Temperature Sensors]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=324</guid>
		<description><![CDATA[[product_image:/images/products/product_free_driver.png] [ProductType:1] (0=normal, 1=quick/free project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] The Texas Instruments TMP100 is an I2C Bus temperature sensor device. It provides accurate temperture measurement at the PCB for embedded designs. [product_section_start:product_info_include_free_driver_top_box] [product_section_start:product_page_section_details.png] This driver provides the following functions: SET CONFIGURATION BYTE temperature_set_config (BYTE config) Returns 1 if configuration was set sucessfully, 0 [...]]]></description>
			<content:encoded><![CDATA[<p>[product_image:/images/products/product_free_driver.png]<br />
[ProductType:1] (0=normal, 1=quick/free project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-324"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>The Texas Instruments TMP100 is an I2C Bus temperature sensor device. It provides  accurate temperture measurement at the PCB for embedded designs.</p>
<p>[product_section_start:product_info_include_free_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver provides the following functions:</p>
<p><span class="code_function_title">SET CONFIGURATION</span><br />
<span class="code_function_definition">BYTE temperature_set_config (BYTE config)</span><br />
Returns 1 if configuration was set sucessfully, 0 if not<br />
config:<br />
OS/ALERT | R1 | R0 | F1 | F0 | POL | TM | 1=Shutdown</p>
<p>R1:0		Resolution			Convertsion Time (typ)<br />
00			9 Bits (0.5°C)		40ms<br />
01			10 Bits (0.25°C)	80ms<br />
10			11 Bits (0.125°C)	160ms<br />
11			12 Bits (0.0625°C)	320ms</p>
<p><span class="code_function_title">READ TEMPERATURE</span><br />
<span class="code_function_definition">BYTE read_temperature (SIGNED_WORD *temperature)</span><br />
Returns 1 if temperature was read sucessfully, 0 if not<br />
temperature:<br />
Returned 12 bit temperature reading is x0.0625ºC (16 bits per 1ºC).  0&#215;0000 = 0ºC</p>
<p>&nbsp;</p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C30 MPLAB C Compiler for PIC24 and dsPIC family of 16 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32 family of 32 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_project_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Generic_Header_File/EC/main.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download our generic header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Temperature_Sensors/Texas%20Instruments%20TMP100/temp-tmp100.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .h header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Temperature_Sensors/Texas%20Instruments%20TMP100/temp-tmp100.c" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .c code file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Temperature_Sensors/Texas%20Instruments%20TMP100/TMP100.pdf" target="_blank"><img src="/images/icons/download_datasheet.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download TMP100 datasheet</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_free_driver]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/miscellaneous/temperature-sensor-ics/texas-instruments-tmp100-i2c-temperature-sensor-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atmel AT45DB081 Serial SPI Bus DataFlash Driver</title>
		<link>http://www.embedded-code.com/source-code/memory/flash-memory-ics/atmel-at45db081-serial-spi-bus-dataflash-driver</link>
		<comments>http://www.embedded-code.com/source-code/memory/flash-memory-ics/atmel-at45db081-serial-spi-bus-dataflash-driver#comments</comments>
		<pubDate>Wed, 18 May 2011 10:29:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Memory IC's]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=305</guid>
		<description><![CDATA[[product_image:/images/products/product_free_driver.png] [ProductType:1] (0=normal, 1=quick/free project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] The Atmel AT45DB081D is an 8-megabit SPI serial bus flash memory device. [product_section_start:product_info_include_free_driver_top_box] [product_section_start:product_page_section_details.png] The Atmel AT45DB081 flash memory IC is a SPI bus device. It provides very low cost bulk memory to embedded designs. Memory organisation: 0&#215;000000 &#8211; 0x0FFFFF 1048576 bytes x 8 [...]]]></description>
			<content:encoded><![CDATA[<p>[product_image:/images/products/product_free_driver.png]<br />
[ProductType:1] (0=normal, 1=quick/free project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-305"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>The Atmel AT45DB081D is an 8-megabit SPI serial bus flash memory device.</p>
<p>[product_section_start:product_info_include_free_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>The Atmel AT45DB081 flash memory IC is a SPI bus device. It provides very low cost bulk memory to embedded designs.</p>
<p>Memory organisation:</p>
<p>0&#215;000000 &#8211; 0x0FFFFF</p>
<p>1048576 bytes x 8 (1024KB / 1MB)</p>
<p>Organised as 4096 pages of 256 bytes (To avoid non binary complexities this driver only uses 256 bytes of each page instead of the 264 which are actually available)</p>
<p>This driver provides the following functions:</p>
<p><span class="code_function_title">TEST FLASH MEMORY</span></p>
<p><strong></strong> <span class="code_function_definition">BYTE flash_test_memory (void)</span></p>
<p>An example of how to use this drivers functions.</p>
<p>Also a useful function if you want to verify the flash memory driver is working properly.</p>
<p>Returns 1 if test passed, 0 if not.</p>
<p><span class="code_function_title">IS FLASH IC PRESENT</span></p>
<p><span class="code_function_definition">BYTE flash_check_present (void)</span></p>
<p>Useful to check flash chip is there and working</p>
<p><span class="code_function_title">ERASE PAGE OF FLASH MEMORY</span></p>
<pre><code>void flash_erase_page (DWORD address)</code></pre>
<p>address is the binary byte address (must be a byte within the page)</p>
<p><span class="code_function_title">ERASE BLOCK OF FLASH MEMORY</span></p>
<pre><code>void flash_erase_block (DWORD address)</code></pre>
<p>address is the binary byte address (must be a byte within the block)</p>
<p><span class="code_function_title">ERASE ALL FLASH MEMORY</span></p>
<p><span class="code_function_definition">void flash_erase_all (void)</span></p>
<p><span class="code_function_title">WRITE PAGE</span></p>
<p><span class="code_function_definition">void flash_write_page (DWORD address, BYTE *buffer, BYTE erase_first)</span></p>
<p>Call with:</p>
<p>address			Binary byte address (must be the 1st byte of a page)</p>
<p>buffer			Array of 256 bytes of data to be written</p>
<p>erase_first		1 = erase buffer first, 0 = don&#8217;t erase (if you&#8217;ve previously called flash_erase_all)</p>
<p><span class="code_function_title">READ PAGE</span></p>
<p><span class="code_function_definition">void flash_read_page (DWORD address, BYTE *buffer)</span></p>
<p>Call with:</p>
<p>address			Binary byte address (must be the 1st byte of a page)</p>
<p>buffer			Array of 256 bytes of data to store read bytes in</p>
<p><span class="code_function_title">READ STATUS</span></p>
<p><span class="code_function_definition">BYTE flash_read_status (void)</span></p>
<p>Returns status byte (bit 7 low = device is busy)</p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C30 MPLAB C Compiler for PIC24 family of 16 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32 family of 32 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_project_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Generic_Header_File/EC/main.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download our generic header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Flash_Memory/Atmel_AT45DB081-EC/mem-at45db081.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .h header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Flash_Memory/Atmel_AT45DB081-EC/mem-at45db081.c" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .c code file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Flash_Memory/Atmel_AT45DB081-EC/AT45DB081D.pdf" target="_blank"><img src="/images/icons/download_datasheet.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download AT45DB081D datasheet</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_free_driver]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/memory/flash-memory-ics/atmel-at45db081-serial-spi-bus-dataflash-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microchip PIC18 Internal EEprom Memory Driver</title>
		<link>http://www.embedded-code.com/source-code/memory/flash-memory-ics/microchip-pic18-internal-eeprom-memory-driver</link>
		<comments>http://www.embedded-code.com/source-code/memory/flash-memory-ics/microchip-pic18-internal-eeprom-memory-driver#comments</comments>
		<pubDate>Wed, 18 May 2011 08:01:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Memory IC's]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=284</guid>
		<description><![CDATA[[product_image:/images/products/product_free_driver.png] [ProductType:1] (0=normal, 1=quick/free project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] Many Microchip PIC18 devices incorporate eeprom non-volatile memory.  This driver provides fucntions to read and write the eeprom memory with checkum error detection. [product_section_start:product_info_include_free_driver_top_box] [product_section_start:product_page_section_details.png] This driver provides the following functions: CHECK FOR FACTORY START BYTE check_factory_start (void) Returns 1 if this is a [...]]]></description>
			<content:encoded><![CDATA[<p>[product_image:/images/products/product_free_driver.png]<br />
[ProductType:1] (0=normal, 1=quick/free project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-284"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>Many Microchip PIC18 devices incorporate eeprom non-volatile memory.  This driver provides fucntions to read and write the eeprom memory with checkum error detection.</p>
<p>[product_section_start:product_info_include_free_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver provides the following functions:</p>
<p><span class="code_function_title">CHECK FOR FACTORY START</span></p>
<pre><code>BYTE check_factory_start (void)</code></pre>
<p>Returns 1 if this is a factory start (eeprom signature is not present), 0 if not</p>
<p><span class="code_function_title">STORE FACTORY START SIGNATURE</span></p>
<pre><code>void store_factory_start_signature (void)</code></pre>
<p>After carying out factory start tasks, such as storing default eeprom values, call this fucntion to store the factory start doen signature in eeprom.</p>
<p><span class="code_function_title">READ PIC EEPROM</span></p>
<pre><code>BYTE read_pic_eeprom (WORD eeprom_start_address, BYTE *ram_start_address, BYTE len, BYTE checksum_offset)</code></pre>
<p>Returns 0 if checkum was OK, 1 if it failed (the ram_start_address buffer will have been set to 0&#215;00)<br />
If no checksum is used set checksum_offset to 0.</p>
<p><span class="code_function_title">WRITE PIC EEPROM</span></p>
<pre><code>void write_pic_eeprom (WORD eeprom_start_address, BYTE *ram_start_address, BYTE len, BYTE checksum_offset)</code></pre>
<p>To not store a checksum set checksum_offset to 0.</p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_project_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Generic_Header_File/EC/main.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download our generic header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/EEprom/PIC18_Internal_Eeprom-EC/pic-eeprom.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .h header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/EEprom/PIC18_Internal_Eeprom-EC/pic-eeprom.c" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .c code file</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_free_driver]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/memory/flash-memory-ics/microchip-pic18-internal-eeprom-memory-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Universal Graphic Display Driver</title>
		<link>http://www.embedded-code.com/source-code/displays/graphic_screens/universal-graphic-display-driver</link>
		<comments>http://www.embedded-code.com/source-code/displays/graphic_screens/universal-graphic-display-driver#comments</comments>
		<pubDate>Thu, 12 May 2011 14:32:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Color, Grayscale and Monochrome Screens]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=252</guid>
		<description><![CDATA[[ProductCodeName:displays_universal_graphic_display_driver] [product_image:/images/products/product_universal_display_driver.png] [product_price_private:55.00] (0 = not available) [product_price_commercial:100.00] [product_price_upgrade:65.00] (0 = not available) [product_price_renew:25.00] (0 = not available) [ProductType:0] (0=normal, 1=quick project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] Graphic display allow embedded devices to provide rich graphical user interfaces and at ever reducing cost. However successfully using graphic displays comes with the problem of a [...]]]></description>
			<content:encoded><![CDATA[<p>[ProductCodeName:displays_universal_graphic_display_driver]<br />
[product_image:/images/products/product_universal_display_driver.png]<br />
[product_price_private:55.00] (0 = not available)<br />
[product_price_commercial:100.00]<br />
[product_price_upgrade:65.00] (0 = not available)<br />
[product_price_renew:25.00] (0 = not available)<br />
[ProductType:0] (0=normal, 1=quick project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-252"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>Graphic display allow embedded devices to provide rich graphical user   interfaces and at ever reducing cost.  However successfully using   graphic displays comes with the problem of a great deal of complexity. The   solution for some engineers is to use an off the shelf GUI module from a   vendor which incorporates a processor and proprietary software to   provide the graphic display functionality for them, but at a much higher   production cost.  With colour displays starting at &lt; $10 these days   and with typical low cost embedded processors being more than capable   enough of driving them paying for GUI modules can be a very false   economy.  This universal graphic display driver removes much of the   complexity of driving graphic displays and allows you to simply display   bitmaps of any size and Unicode text strings using user adjustable  fonts  anywhere on a screen. Once you have this capability using a  graphic  screen is easy and it’s a simple matter to add any special  features you  need for your application, such as menus, animated  graphics, graphs and  more.</p>
<p><a href="http://www.embedded-code.com/source-code/wp-content/uploads/2011/05/universal_disp_driver1.png"><img class="size-full wp-image-310 alignleft" title="universal_disp_driver1" src="http://www.embedded-code.com/source-code/wp-content/uploads/2011/05/universal_disp_driver1.png" alt="" width="205" height="200" /></a>Still, designing graphic screen layouts in code, even with a  versatile driver, can be a tedious task for more complex projects and a  benefit of many GUI modules is that they provide some sort of PC  software to facilitate the graphic user interface design.  Often this  software isn&#8217;t particularly friendly or universal, but it&#8217;s better than  designing from the source code level.  This driver takes things one step  better and will read HTML files, allowing you to design your screen  layouts using Dreamweaver web authoring software if you wish.  Not only  can this drastically reduce the time and hassle to design user  interfaces, it also allows you to design and demonstrate user interface  designs before the hardware has been created and also allows non  programmers to design screen layouts using software many designers are already familiar with.</p>
<p>The last remaining issue for graphical user interfaces is typically  fonts and supporting languages with non ASCII character sets.  This  driver solves that problem by being designed with full Unicode support  and to work with the fonts produced by the great <a href="http://www.iseasoft.com/bitfontcreatorpro.htm" target="_blank">Iseatech Bit Font Creator Pro</a> software.  The driver is supplied with several fonts implementing the  standard extended ASCII character set which may be used as is.   Purchasing Bit Font Creator Pro from Iseatech allows you to edit these  included fonts, add new Unicode characters and to also create your own  new fonts from any font installed on your Windows PC.</p>
<p><a href="http://www.embedded-code.com/source-code/wp-content/uploads/2011/05/3V3-With-Screen-Side-View-40mm-high.jpg"><img class="alignright size-medium wp-image-320" title="3V3 With Screen Side View - 40mm high" src="http://www.embedded-code.com/source-code/wp-content/uploads/2011/05/3V3-With-Screen-Side-View-40mm-high-300x287.jpg" alt="" width="147" height="141" /></a>As well as  displaying ASCII text strings in standard ‘monospace’ fixed  pitch mode  (each character takes the same horizontal space regardless of  its  actual width), this driver also allows you to use font&#8217;s created as   proportional width. This makes lines of text much more attractive and   natural to read and typically allows you to fit additional characters   across a screen, as each character only uses as much width as is   required to display it. Left, centre or right alignment functions   provides the complete toolbox of text display capabilities.</p>
<p>The  included Display Files Convert PC application will read all of your   source font, bitmap, html and css files and convert them ready for use   in your application. It&#8217;s output may either be as a standard C header   file, allowing all of your source file data to be simply included in   your microcontrollers program memory when you compile, or as a binary  file for you to  store in external flash memory with a generated C  header file used by the driver  to locate each files start address.</p>
<p>Once  you have these capabilities using a graphic screen is easy and it’s  a  simple matter to add any special user interface features you require   for your application, such as menus, animated graphics, graphs and more.   One of the great advantages of this driver is that it provides you  with  very simple but very powerful control over everything you display  on  the screen, allowing you to implement your display, and any user   interface functionality, exactly as you want it down to the individual  pixel.</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p><strong>Main features:</strong></p>
<ul>
<li>Designed for use with color, grayscale and monochrome displays.</li>
</ul>
<ul>
<li>Use your display in any of the 4 possible orientations.</li>
</ul>
<ul>
<li>Display .BMP bitmap files of any size anywhere on the screen.</li>
</ul>
<ul>
<li>Display Unicode text strings using user adjustable monospace or proportional width fonts anywhere on a screen.*</li>
</ul>
<ul>
<li>Display text strings with left, centre or right alignment.  Display a single line of text, or multiple lines contained within a definable region.</li>
</ul>
<ul>
<li>Design your screen layouts in code or as HTML files using Dreamweaver web authoring software.  This driver parses HTML source files.</li>
</ul>
<ul>
<li>Optional touchscreen support &#8211; parsed HTML file links may be passed to your application with screen coordinates so it can dynamically process screen touch events</li>
</ul>
<ul>
<li>Use the included PC Display Files Converter Application to convert your source font, bitmap, html and css files ready for use in your application.</li>
</ul>
<ul>
<li>No reliance on special display Controller IC features &#8211; generic driver suited to all types of display controllers where data is written per pixel.</li>
</ul>
<ul>
<li>No requirements to use your display in pre-defined ways – use your display exactly as you want with your user interface implemented exactly as you want it, down to the individual pixel!</li>
</ul>
<ul>
<li>Fast optimised source code.</li>
</ul>
<ul>
<li>No reliance on compiler specific libraries.</li>
</ul>
<ul>
<li>Full source code supplied for you to use and modify as required.</li>
</ul>
<p>(* N.B. To create new fonts and edit fonts you need to purchase BitFontCreator Pro 3.0 from Iseatech Software)</p>
<p>This driver can’t quite remove all of the  complexity for you as you  will still need to configure the screen  access functions to suit the  particular screen / driver IC you are  using. This has been made as  simple as possible, and some sample screen  models are included for you  to copy and modify as required. See the  technical manual for more  details.</p>
<p>The driver code has been  designed using ANSI compliant C compilers.   Using the driver with other  ANSI compliant C compilers and with other  processors /  microcontrollers should not present significant problems,  but you  should ensure that you have sufficient programming expertise to  carry  out any modifications that may be required to the source code.    Embedded-code.com source code is written to be very easy to understand   by programmers of all levels.  The code is very highly commented with no   lazy programming techniques.  All function, variable and constant  names  are fully descriptive to help you modify and expand the code with  ease.</p>
<p>The driver and associated files are provided under a  licence  agreement.  Please see www.embedded-code.com/licence.php for  full  details.</p>
<p>The remainder of this manual provides a wealth of  technical  information about the driver as well as useful guides to get  you going.   We welcome any feedback on this manual and the driver.</p>
<div style="width: 630px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: #ffeac1; margin: 2px; border: 2px solid #000000; background-image: url(http://www.embedded-code.com/images/bfcp_logo.png); background-position: left; background-repeat: no-repeat; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 60px; color: #000000;"><strong>Design Your Own Bitmap Fonts With Ease</strong><br />
Iseatech&#8217;s <a href="http://www.iseasoft.com/bitfontcreatorpro.htm" target="_blank">Bit Font Creator Pro</a> provides excellent font design and editing capabilities. Design bitmap fonts from installed Windows fonts and create your own special characters with ease. The Universal Graphic Display Driver is designed to use Unicode fonts created with Bit Font Creator Pro.</div>
<p>[product_section_start:product_page_section_specifications.png]</p>
<p><strong>Hardware Specifications</strong><br />
The driver is designed to support all types of parallel and serial screen interfaces.<br />
For full specifications please see the project technical manual.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32  family of 32bit microcontrollers with sample project included. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_documentation.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://www.graphic-display-source-code-driver.com/gui/" target="_blank"><img src="/images/icons/book_icon_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">View the project technical manual</td>
</tr>
<tr>
<td height="15"></td>
<td></td>
</tr>
<tr>
<td height="20"><a href="http://www.graphic-display-source-code-driver.com/gui/category/revision-history" target="_blank"><img src="/images/icons/pdf_icon_boxed.gif" border="0" alt="" width="46" height="46" /></a></td>
<td class="main">View the most recent project revision history (useful for past customers to check for any modifications since they received their files)</td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_sample_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="/download/universal_graphic_display_driver_sample_project_files.zip" target="_blank"><img src="/images/icons/zip_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">Download sample source code files</td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_1]</p>
<p>[product_section_start:place_order]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/displays/graphic_screens/universal-graphic-display-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atmel AT42QT2160 Touch Sensor Driver</title>
		<link>http://www.embedded-code.com/source-code/sensors/touch-sensors/atmel-at42qt2160-touch-sensor-driver</link>
		<comments>http://www.embedded-code.com/source-code/sensors/touch-sensors/atmel-at42qt2160-touch-sensor-driver#comments</comments>
		<pubDate>Mon, 18 Apr 2011 14:15:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Touch Sensors]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=243</guid>
		<description><![CDATA[[product_image:/images/products/product_free_driver.png] [ProductType:1] (0=normal, 1=quick/free project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] The Atmel AT42QT2160 is an I2C Bus touch sensor controller. It provides up to 16 touch sense keys and slider sense functionality for embedded designs. [product_section_start:product_info_include_free_driver_top_box] [product_section_start:product_page_section_details.png] This driver implements reading and writing the IC via the I2C bus interface and configures the AT42QT2160 [...]]]></description>
			<content:encoded><![CDATA[<p>[product_image:/images/products/product_free_driver.png]<br />
[ProductType:1] (0=normal, 1=quick/free project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-243"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>The Atmel AT42QT2160 is an I2C Bus touch sensor controller.  It provides up to 16 touch sense keys and slider sense functionality for embedded designs.</p>
<p>[product_section_start:product_info_include_free_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver implements reading and writing the IC via the I2C bus interface and configures the AT42QT2160 for slider operation.  Adjusting the driver for other sense functionality is straightforward.</p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C30 MPLAB C Compiler for PIC24 family of 16 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32 family of 32 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_project_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Generic_Header_File/EC/main.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download our generic header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Touch_Sensors/AT42QT2160-EC/touch-at42qt2160.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .h header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Touch_Sensors/AT42QT2160-EC/touch-at42qt2160.c" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .c code file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Touch_Sensors/AT42QT2160-EC/AT42QT2160_DS.pdf" target="_blank"><img src="/images/icons/download_datasheet.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download AT42QT2160 datasheet</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Touch_Sensors/AT42QT2160-EC/USBee%20Captures/Touch%20Initialise.usbeecomp" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download USBee logic analyser working example capture (USBee software available for free from <a href="http://www.usbee.com/" target="_blank">usbee.com</a>)</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Touch_Sensors/AT42QT2160-EC/USBee%20Captures/Touch%20Sense%20Capture.usbeecomp" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download USBee logic analyser working example capture (USBee software available for free from <a href="http://www.usbee.com/" target="_blank">usbee.com</a>)</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_free_driver]</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 480px; width: 1px; height: 1px; overflow: hidden;">http://www.usbee.com/</div>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/sensors/touch-sensors/atmel-at42qt2160-touch-sensor-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maxim DS1337 I2C Real Time Clock Driver</title>
		<link>http://www.embedded-code.com/source-code/miscellaneous/real-time-clock-ics/maxim-ds1337-i2c-real-time-clock-driver</link>
		<comments>http://www.embedded-code.com/source-code/miscellaneous/real-time-clock-ics/maxim-ds1337-i2c-real-time-clock-driver#comments</comments>
		<pubDate>Fri, 11 Feb 2011 18:31:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Real Time Clock IC's]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=180</guid>
		<description><![CDATA[[product_image:/images/products/product_free_driver.png] [ProductType:1] (0=normal, 1=free/quick project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] The Dallas Maxim DS1337 is a I2C serial bus real time clock.. It provides low power time keeping for embedded designs with two alarm output pins. [product_section_start:product_info_include_free_driver_top_box] [product_section_start:product_page_section_details.png] This driver provides the following functions: SET REAL TIME CLOCK TIME BYTE rtc_set_time (BYTE alarms_enabled, BYTE [...]]]></description>
			<content:encoded><![CDATA[<p>[product_image:/images/products/product_free_driver.png]<br />
[ProductType:1] (0=normal, 1=free/quick project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-180"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>The Dallas Maxim DS1337 is a I2C serial bus real time clock.. It provides low power time keeping for embedded designs with two alarm output pins.</p>
<p>[product_section_start:product_info_include_free_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver provides the following functions:</p>
<p><span class="code_function_title">SET REAL TIME CLOCK TIME</span><br />
<span class="code_function_definition">BYTE rtc_set_time (BYTE alarms_enabled, BYTE hours, BYTE minutes, BYTE seconds, BYTE day, BYTE date, BYTE month, BYTE year)</span><br />
The fields are converted from binary to BCD before being sent to the RTC<br />
alarms_enabled	0 = alarms disabled, bit0 = alarm 1 enable, bit1 = alarm 2 enable, bit2 = alarms trigger INTA &amp; INTB (0=both trigger INTA)<br />
hours			0 &#8211; 23<br />
minutes			0 &#8211; 59<br />
seconds			0 &#8211; 59<br />
day				1 &#8211; 7<br />
date			1 &#8211; 31<br />
month			1 &#8211; 12<br />
year			0 &#8211; 99</p>
<p><span class="code_function_title">GET REAL TIME CLOCK TIME</span><br />
<span class="code_function_definition">BYTE rtc_get_time (BYTE *hours, BYTE *minutes, BYTE *seconds, BYTE *day, BYTE *date, BYTE *month, BYTE *year)</span><br />
All fields are converted to binary values<br />
hours			0 &#8211; 23<br />
minutes			0 &#8211; 59<br />
seconds			0 &#8211; 59<br />
day				1 &#8211; 7<br />
date			1 &#8211; 31<br />
month			1 &#8211; 12<br />
year			0 &#8211; 99</p>
<p><span class="code_function_title">SET REAL TIME CLOCK ALARM</span><br />
<span class="code_function_definition">BYTE rtc_set_alarm (BYTE alarm_id, BYTE alarms_enabled, BYTE hours, BYTE minutes, BYTE seconds, BYTE date_day)</span><br />
The fields are converted from binary to BCD before being sent to the RTC<br />
alarm_id		1 &#8211; 2<br />
alarms_enabled	0 = alarms disabled, bit0 = alarm 1 enable, bit1 = alarm 2 enable, bit2 = alarms trigger INTA &amp; INTB (0=both trigger INTA)<br />
hours			0 &#8211; 23<br />
minutes			0 &#8211; 59<br />
seconds			0 &#8211; 59 (not available for alarm 2)<br />
date_day		1 &#8211; 31 (dates) or 101 &#8211; 107 (days)<br />
Set any value to 0xff to be ignored in the alarm comparison<br />
Note: After an alarm is activated the INT pin will remain driven low until rtc_clear_alarms() is called</p>
<p><span class="code_function_title">CLEAR REAL TIME CLOCK ALARMS</span><br />
<span class="code_function_definition">BYTE rtc_clear_alarms (void)</span><br />
When an enabled alarm trips the alarm flags must be cleared using this function to reset the INT pin(s).</p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C30 MPLAB C Compiler for PIC24 family of 16 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32 family of 32 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_project_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Generic_Header_File/EC/main.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download our generic header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/RTC/Maxim_DS1337-EC/rtc-ds1337.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .h header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/RTC/Maxim_DS1337-EC/rtc-ds1337.c" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .c code file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/RTC/Maxim_DS1337-EC/DS1337.pdf" target="_blank"><img src="/images/icons/download_datasheet.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download DS1337 datasheet</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_free_driver]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/miscellaneous/real-time-clock-ics/maxim-ds1337-i2c-real-time-clock-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTRC110 EM4102 125kHz RFID Reader Driver</title>
		<link>http://www.embedded-code.com/source-code/rfid/125khz-rfid-readers/htrc110-em4102-rfid-reader-driver</link>
		<comments>http://www.embedded-code.com/source-code/rfid/125khz-rfid-readers/htrc110-em4102-rfid-reader-driver#comments</comments>
		<pubDate>Thu, 15 Apr 2010 19:57:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[125kHz RFID Readers]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=147</guid>
		<description><![CDATA[[ProductCodeName:rfid_125khz_readers_htrc110_rfid_reader_driver] [product_image:/images/products/product_htrc110_rfid_reader_driver.png] [product_price_private:55.00] (0 = not available) [product_price_commercial:100.00] [product_price_upgrade:65.00] (0 = not available) [product_price_renew:25.00] (0 = not available) [ProductType:0] (0=normal, 1=quick project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] THIS PROJECT IS NOT CURRENTLY RELEASED (ORDERING NOT CURRENTLY AVAILABLE) Low cost 125kHz passive RFID tags are the ideal choice for all sorts of identification applications.  However [...]]]></description>
			<content:encoded><![CDATA[<p>[ProductCodeName:rfid_125khz_readers_htrc110_rfid_reader_driver]<br />
[product_image:/images/products/product_htrc110_rfid_reader_driver.png]<br />
[product_price_private:55.00] (0 = not available)<br />
[product_price_commercial:100.00]<br />
[product_price_upgrade:65.00] (0 = not available)<br />
[product_price_renew:25.00] (0 = not available)<br />
[ProductType:0] (0=normal, 1=quick project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-147"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p><em><strong>THIS PROJECT IS NOT CURRENTLY RELEASED (ORDERING NOT CURRENTLY AVAILABLE)</strong></em></p>
<p>Low cost 125kHz passive RFID tags are the ideal choice for all sorts of identification applications.  However many engineers view the task of designing a 125kHz RFID reader as too daunting a job involving dabbling in the black arts of radio frequency design.  Instead an engineer will typically opt for the safe approach of using one of the many off the shelf but expensive RFID reader OEM modules.</p>
<p>Actually designing a 125KHz RFID reader is very straightforward if a good RFID reader IC is used and this driver is designed to work with the excellent NXP (formerly Philips) HTRC110 RFID Reader Chip.</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver provides complete functionality to read EM Marin EM4102 (previously named H4001/H4102) and compatible RFID transponders.  The EM4100 is one of the more common data formats for RFID transponders, so named because the microchip at the heart of compatible tags are based on a controller chip originally made by the company EM Microelectronic.  The protocol is typically used by the many types of generic 125kHz read only passive RFID tags available from a huge range of suppliers.  These simple RFID transponders carry 40 bits of read only memory and are typically supplied with a globally unique ID value (the 40 bits provide1,099,511,627,776 combinations).</p>
<p>The driver provides the following main features:-</p>
<ul>
<li>Automatically handles the 64, 32 or 16 period data rates and Manchester or Biphase encoding methods used by EM4102 based tags.  Most tags use Manchester encoding due to many RFID readers only supporting Manchester encoded tags.</li>
<li>Optimised for small code footprint embedded designs.</li>
<li>State machine and interrupt based implementation to avoid your application stalling while tags are read and the modulated data stream decoded.</li>
<li>Automatically switches the HTRC110 to low power mode between reading tags.</li>
<li>No reliance on compiler specific libraries.</li>
<li>Full source code supplied for you to use and modify as required.</li>
</ul>
<p>[product_section_start:product_page_section_specifications.png]</p>
<p><strong>Hardware Specifications</strong></p>
<p>The driver is designed to support the NXP HTRC110 RFID reader chip.  The driver has been designed to work with 8-bit, 16-bit and 32-bit microcontrollers.</p>
<p>In order to decode the modulated RFID tag data stream the driver requires the RFID Dout connection to be made to a microcontroller rising edge interrupt pin.  The driver carries out all other communications by driving and reading the microcontroller pins directly.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers with sample project included. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_documentation.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://www.125khz-rfid-reader.com" target="_blank"><img src="/images/icons/book_icon_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">View the project technical manual</td>
</tr>
<tr>
<td height="15"></td>
<td></td>
</tr>
<tr>
<td height="20"><a href="http://www.125khz-rfid-reader.com/category/revision-history" target="_blank"><img src="/images/icons/pdf_icon_boxed.gif" border="0" alt="" width="46" height="46" /></a></td>
<td class="main">View the most recent project revision history (useful for past customers to check for any modifications since they received their files)</td>
</tr>
<tr>
<td height="15"></td>
<td></td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_sample_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="/download/htrc110_rfid_reader_driver_sample_project_files.zip" target="_blank"><img src="/images/icons/zip_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">Download sample source code files</td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_1]</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/rfid/125khz-rfid-readers/htrc110-em4102-rfid-reader-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microchip TCN75 I2C Temperature Sensor Driver</title>
		<link>http://www.embedded-code.com/source-code/miscellaneous/temperature-sensor-ics/microchip-tcn75-i2c-temperature-sensor-driver</link>
		<comments>http://www.embedded-code.com/source-code/miscellaneous/temperature-sensor-ics/microchip-tcn75-i2c-temperature-sensor-driver#comments</comments>
		<pubDate>Mon, 05 Apr 2010 13:06:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Temperature Sensor IC's]]></category>
		<category><![CDATA[Temperature Sensors]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=144</guid>
		<description><![CDATA[[product_image:/images/products/product_free_driver.png] [ProductType:1] (0=normal, 1=quick/free project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] The Microchip TCN75 is an I2C Bus temperature sensor device. It provides accurate temperture measurement at the PCB for embedded designs. [product_section_start:product_info_include_free_driver_top_box] [product_section_start:product_page_section_details.png] This driver provides the following functions: READ TEMPERATURE BYTE read_temperature (SIGNED_WORD *temperature) Returns 1 if temperature was read sucessfully, 0 if [...]]]></description>
			<content:encoded><![CDATA[<p>[product_image:/images/products/product_free_driver.png]<br />
[ProductType:1] (0=normal, 1=quick/free project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-144"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>The Microchip TCN75 is an I2C Bus temperature sensor device. It provides  accurate temperture measurement at the PCB for embedded designs.</p>
<p>[product_section_start:product_info_include_free_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver provides the following functions:</p>
<p><span class="code_function_title">READ TEMPERATURE</span><br />
<span class="code_function_definition">BYTE read_temperature (SIGNED_WORD *temperature)</span><br />
Returns 1 if temperature was read sucessfully, 0 if not<br />
temperature =<br />
Temperature reading x0.5ºC (0&#215;0000 = 0ºC)</p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C30 MPLAB C Compiler for PIC24 family of 16 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32 family of 32 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_project_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Generic_Header_File/EC/main.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download our generic header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Temperature_Sensors/Microchip_TCN75-EC/temp-tcn75.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .h header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Temperature_Sensors/Microchip_TCN75-EC/temp-tcn75.c" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .c code file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Temperature_Sensors/Microchip_TCN75-EC/TCN75.pdf" target="_blank"><img src="/images/icons/download_datasheet.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download TCN75 datasheet</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_free_driver]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/miscellaneous/temperature-sensor-ics/microchip-tcn75-i2c-temperature-sensor-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maxim DS1307 I2C Real Time Clock Driver</title>
		<link>http://www.embedded-code.com/source-code/miscellaneous/real-time-clock-ics/maxim-ds1307-i2c-real-time-clock-driver</link>
		<comments>http://www.embedded-code.com/source-code/miscellaneous/real-time-clock-ics/maxim-ds1307-i2c-real-time-clock-driver#comments</comments>
		<pubDate>Mon, 05 Apr 2010 13:02:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Real Time Clock IC's]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=142</guid>
		<description><![CDATA[[product_image:/images/products/product_free_driver.png] [ProductType:1] (0=normal, 1=free/quick project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] The Dallas Maxim DS1307 is a I2C serial bus real time clock. It provides low power time keeping for embedded designs. [product_section_start:product_info_include_free_driver_top_box] [product_section_start:product_page_section_details.png] This driver provides the following functions: SET REAL TIME CLOCK TIME BYTE rtc_set_time (BYTE *seconds, BYTE *minutes, BYTE *hours, BYTE *day, [...]]]></description>
			<content:encoded><![CDATA[<p>[product_image:/images/products/product_free_driver.png]<br />
[ProductType:1] (0=normal, 1=free/quick project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-142"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p>The Dallas Maxim DS1307 is a I2C serial bus real time clock. It provides low power time keeping for embedded designs.</p>
<p>[product_section_start:product_info_include_free_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>This driver provides the following functions:</p>
<p><span class="code_function_title">SET REAL TIME CLOCK TIME</span><br />
<span class="code_function_definition">BYTE rtc_set_time  (BYTE *seconds, BYTE *minutes, BYTE *hours, BYTE *day, BYTE *date, BYTE *month, BYTE *year)</span><br />
The fields are converted from binary to BCD before being sent to the RTC<br />
All fields are 0 &#8211; #, except day, date and month, which are 1 &#8211; #<br />
Pointers are used for comanilty with rtc_get_time<br />
Uses 24 hour clock mode</p>
<p><span class="code_function_title">GET REAL TIME CLOCK TIME</span><br />
<span class="code_function_definition">BYTE rtc_get_time (BYTE *seconds, BYTE *minutes, BYTE *hours, BYTE *day, BYTE *date, BYTE *month, BYTE *year)</span><br />
Returns<br />
1 if sucessful, 0 if not.<br />
All fields are converted to binary values.<br />
All fields are 0 &#8211; #, except day, date and month, which are 1 &#8211; #<br />
Uses 24 hour clock mode</p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><img src="/images/compilers/ansi_c_compiler.jpg" border="0" alt="" width="140" height="40" /></div>
</td>
<td class="main"></td>
<td class="main">
<div>This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C30 MPLAB C Compiler for PIC24 family of 16 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C32 MPLAB C Compiler for PIC32 family of 32 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_project_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/Generic_Header_File/EC/main.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download our generic header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/RTC/Maxim_DS1307-EC/rtc-ds1307.h" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .h header file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/RTC/Maxim_DS1307-EC/rtc-ds1307.c" target="_blank"><img src="/images/icons/download_file.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download driver .c code file</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="6"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="http://dl.dropbox.com/u/20637505/_Programming/C_Lib/RTC/Maxim_DS1307-EC/DS1307.pdf" target="_blank"><img src="/images/icons/download_datasheet.png" border="0" alt="" width="36" height="36" /></a></div>
</td>
<td class="main">Download DS1307 datasheet</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_free_driver]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/miscellaneous/real-time-clock-ics/maxim-ds1307-i2c-real-time-clock-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microchip PIC24 Complete Bootloader Solution</title>
		<link>http://www.embedded-code.com/source-code/bootloaders/microchip-bootloaders/microchip-pic24-complete-bootloader-solution</link>
		<comments>http://www.embedded-code.com/source-code/bootloaders/microchip-bootloaders/microchip-pic24-complete-bootloader-solution#comments</comments>
		<pubDate>Mon, 05 Apr 2010 12:57:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microchip Bootloaders]]></category>

		<guid isPermaLink="false">http://www.embedded-code.com/source-code/?p=140</guid>
		<description><![CDATA[[ProductCodeName:bootloaders_microchip_bootloaders_microchip_pic24_bootloader] [product_image:/images/products/product_quick_driver.png] [product_price_private:0] (0 = not available) [product_price_commercial:60.00] [product_price_upgrade:0] (0 = not available) [product_price_renew:25.00] (0 = not available) [ProductType:1] (0=normal, 1=quick project (must be 1 char) [product_attributes_end] [product_section_start:product_page_section_overview.png] ADVANCE INFORMATION &#8211; THIS PROJECT IS NOT YET RELEASED (ORDERING NOT YET AVAILABLE) This driver provides a complete bootloader solution for the Microchip PIC24 family of microcontrollers. [...]]]></description>
			<content:encoded><![CDATA[<p>[ProductCodeName:bootloaders_microchip_bootloaders_microchip_pic24_bootloader]<br />
[product_image:/images/products/product_quick_driver.png]<br />
[product_price_private:0] (0 = not available)<br />
[product_price_commercial:60.00]<br />
[product_price_upgrade:0] (0 = not available)<br />
[product_price_renew:25.00] (0 = not available)<br />
[ProductType:1] (0=normal, 1=quick project (must be 1 char)<br />
[product_attributes_end]<br />
<span id="more-140"></span></p>
<p>[product_section_start:product_page_section_overview.png]</p>
<p><em><strong>ADVANCE INFORMATION &#8211; THIS PROJECT IS NOT YET RELEASED (ORDERING NOT YET AVAILABLE)</strong></em></p>
<p>This driver provides a complete bootloader solution for the Microchip PIC24 family of microcontrollers.</p>
<p>[product_section_start:product_info_include_quick_driver_top_box]</p>
<p>[product_section_start:product_page_section_details.png]</p>
<p>Designing a sophisticated bootloader tends to be a complex task that is often painful to debug. This driver provides a ready made bootloader system for the for the Microchip PIC24 family of microcontrollers. It provides everything you need to allow your device to be upgraded in the field via a flash firmware upgrade file.</p>
<p>This driver provides the following features:</p>
<p>The driver is based around a seperate bootloader and flash firmware project. The bootloader occupies a small section of memory at the start of the PIC program memory space. The flash firmware occupies the remainder of the program memory space. External memory is used to temporary store the upgrade file with your project providing the means to read and write that memory.</p>
<p>To upgrade the firmware your project simply deals with receiving the upgrade file over whatever communication interface your project has (e.g. Ethernet, USB, RS485, RS232, CAN etc) and passing it byte by byte to the driver. Once all of the firmware file has been received the driver verifies the new firmware file is valid and if it is a marker is stored for the bootloader. The PIC is then restarted and the bootloader deals with overwriting the flash firmware with the new file, verifying its integrity before running exiting to allow the the new firmware version to run</p>
<p>Firmware upgrades may also be provided using a removable memory device such as a memory card, USB dongle etc. Your application deals with providing the means to read the file from the card and the driver takes care of the rest.</p>
<p>Included PC application to convert the compilers .hex file into binary file ready for uploading / passing to driver.</p>
<p>The driver deals with ensuring the PIC24 interrupt vector tables are updated for new flash firmware versions.</p>
<p>16 bit checksum used to verify integrity of the firmware upgrade at every stage.</p>
<p>Allows you to encrypt your firmware upgrade file if desired.</p>
<p>Designed with failure in mind &#8211; should the upgrade process fail at any stage due to the PIC loosing power, corrupt communication of the file, etc, operation is not comprimised (the current firmware will continue to function or the upgrade process will complete when power is next returned).</p>
<p>The driver will deal with external memory typtes that require block erase and block write access (e.g. cheaper flash memory devices).</p>
<p>Please view the sample source code files for full information regarding the driver.</p>
<p>[product_section_start:product_page_section_compilers.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td width="10"></td>
<td></td>
</tr>
<tr>
<td width="140" height="50" align="center" valign="middle">
<div><a href="http://www.microchip.com/" target="_blank"><img src="/images/compilers/microchip_small_logo.gif" border="0" alt="" width="37" height="39" /></a></div>
</td>
<td class="main"></td>
<td class="main">
<div>Tested with the Microchip C30 MPLAB C Compiler for PIC24 family of 16 bit microcontrollers. Free version of the compiler available from Microchip.</div>
</td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_page_section_sample_files.png]</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td height="15" align="left" valign="middle"></td>
<td></td>
</tr>
<tr>
<td width="60" align="left" valign="middle">
<div><a href="/download/quickprojects/bootloader_pic24_driver_sample_files.zip" target="_blank"><img src="/images/icons/zip_boxed.gif" border="0" alt="" width="46" height="46" /></a></div>
</td>
<td class="main">Download sample source code files (V1.00)<br />
(See the source code files for the revision history)</td>
</tr>
<tr>
<td height="20"></td>
<td></td>
</tr>
</tbody>
</table>
<p>[product_section_start:product_info_include_quick_driver]</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.embedded-code.com/source-code/bootloaders/microchip-bootloaders/microchip-pic24-complete-bootloader-solution/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

