SW500010 Microchip Technology, SW500010 Datasheet - Page 69

HI-TECH C PRO FOR PIC10/12/16

SW500010

Manufacturer Part Number
SW500010
Description
HI-TECH C PRO FOR PIC10/12/16
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC10/12/16r
Datasheets

Specifications of SW500010

Supported Families
PIC10, PIC12, PIC16
Core Architecture
PIC
Software Edition
Professional
Kit Contents
Software And Docs
Mcu Supported Families
PIC10/12/16
Tool Type
Compiler
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
PIC10, PIC12, PIC14, PIC16, PIC16E
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
019P
778-1006
778-1006
C Language Features
These functions test and wait for any concurrent writes to EEPROM to conclude before performing
their required operation. The eeprom_write() function will initiate the process of writing to EEP-
ROM and this process will not have completed by the time that eeprom_write() returns. The new data
written to EEPROM will become valid approximately four milliseconds later. In the above example,
the new value will not yet be ready at the time when eeprom_read() is called, however because this
function waits for any concurrent writes to complete before initiating the read, the correct value will
be read.
3.2.5.4 EEPROM Access Macros
Although these macros perform much the same service as their library function counterparts, these
should only be employed in specific circumstances. It is appropriate to select EEPROM_READ or
EEPROM_WRITE in favour of the library equivalents if any of the following conditions are true:
Be aware that if a program contains multiple instances of either macro, any code space saving will
be negated as the full content of the macro is now duplicated in code space.
#include <htc.h>
void eetest(void){
}
It may also be convenient to use the preprocessor symbol, _EEPROMSIZE in conjunc-
tion with some of these access methods. This symbol defines the number of EEPROM
bytes available for the selected chip.
You cannot afford the extra level of stack depth required to make a function call
You cannot afford the added code overhead to pass parameters and perform a call/return
You cannot afford the added processor cycles to execute the function call overhead
unsigned char value = 1;
unsigned char address = 0;
// write value to EEPROM address
eeprom_write(address,value);
// read from EE at address
value = eeprom_read(address);
Processor-related Features
69

Related parts for SW500010