?lang_form?
?lang_select?
?lang_submit?
?lang_endform?
{HEADER END}
{FILE START}
library
?curdirlinks? - Rev 3
?prevdifflink? - Blame - ?getfile?
////////////////////////////////////////////////////////////////
// Program pro otestovani funkci knihovny 93XX.C
////////////////////////////////////////////////////////////////
//
// (c) PEFI 2003
// Verze 0.00 - uvodni verze
//
////////////////////////////////////////////////////////////////
#include <16F876.h>
#include <16f877_reg.h>
#include <stdlib.h>
#use delay (clock=4000000)
#use rs232 (baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#fuses XT,NOWDT,NOBROWNOUT,NOPROTECT,NOLVP
#use fast_io(C)
#use fast_io(A)
// pro pamet 93C46 v 16 bitove variante
//#define EXTEE_DATA_WIDTH 16 /* pocet bitu dat */
//#define EXTEE_ADR_WIDTH 6 /* pocet bitu adresy */
// pro pamet 93C46 v 8 bitove variante
#define EXTEE_DATA_WIDTH 8 /* pocet bitu dat */
#define EXTEE_ADR_WIDTH 7 /* pocet bitu adresy */
#include <93XX.c>
main()
{
int8 c;
int8 Len;
char Adr[4];
#if EXTEE_DATA_WIDTH==16
int16 Adr_eeprom;
int16 Data_eeprom;
int16 i;
int16 buf[20];
#else
int8 Adr_eeprom;
int8 Data_eeprom;
int8 i;
int8 buf[20];
#endif
set_tris_A(0xdf); // (11011111);
set_tris_C(0xe7); // (11100111);
ExtEE_init();
printf("ZAPIS ZAKAZAN\n\r");
for(;;)
{
printf("Cteni(r) Zapis(w) Mazani bajtu(e) Mazani all(b) Zapis all(q)\n\r");
printf("Povoleni zapisu/mazani(a) Zakazani zapisu/mazani(p) ?\n\r");
printf("blokove cteni(f) blokovy zapis(d) ?\n\r");
if((c=getc())=='w')
{
printf("ZAPIS\n\r");
printf("Zadej adresu(dekadicky)\n\r");
gets(Adr);
Adr_eeprom=atol(Adr);
printf("Zadej data(dekadicky)\n\r");
gets(Adr);
Data_eeprom=atol(Adr);
ExtEE_write_item(Adr_eeprom,Data_eeprom);
printf("Zapsano\n\r");
}
else if(c=='r')
{
printf("CTENI\n\r");
printf("Zadej adresu(dekadicky)\n\r");
gets(Adr);
Adr_eeprom=atol(Adr);
Data_eeprom=ExtEE_read_item(Adr_eeprom);
#if EXTEE_DATA_WIDTH==16
printf("Precteno %lu\n\r",Data_eeprom);
#else
printf("Precteno %u\n\r",Data_eeprom);
#endif
}
else if(c=='e')
{
printf("MAZANI BAJTU\n\r");
printf("Zadej adresu(dekadicky)\n\r");
gets(Adr);
Adr_eeprom=atol(Adr);
ExtEE_erase_item(Adr_eeprom);
printf("Smazano\n\r");
}
else if(c=='b')
{
printf("SMAZANI CELE PAMETI\n\r");
ExtEE_erase_all();
printf("smazano\n\r");
}
else if(c=='q')
{
printf("VYPLNENI\n\r");
printf("Zadej data(dekadicky)\n\r");
gets(Adr);
data_eeprom=atol(Adr);
ExtEE_write_all(data_eeprom);
printf("Zapsano\n\r");
}
else if(c=='a')
{
printf("ZAPIS POVOLEN\n\r");
ExtEE_write_enable();
}
else if(c=='p')
{
printf("ZAPIS ZAKAZAN\n\r");
ExtEE_write_disable();
}
else if(c=='f')
{
printf("BLOK.CTENI\n\r");
printf("Zadej adresu(dekadicky)\n\r");
gets(Adr);
Adr_eeprom=atol(Adr);
printf("Zadej delku bloku\n\r");
gets(Adr);
len=atol(Adr);
ExtEE_read_array(Adr_eeprom,buf,len) ;
i=0;
do
#if EXTEE_DATA_WIDTH==16
printf("%lu ",buf[i++]);
#else
printf("%u ",buf[i++]);
#endif
while(--len);
}
else if(c=='d')
{
printf("BLOK.ZAPIS\n\r");
printf("Zadej adresu(dekadicky)\n\r");
gets(Adr);
Adr_eeprom=atol(Adr);
printf("Zadej delku bloku\n\r");
gets(Adr);
len=atol(Adr);
for(i=0;i<len;i++)
{
buf[i]=i;
}
ExtEE_write_array(Adr_eeprom,buf,len);
printf("Zapsano\n\r");
}
else printf("SPATNA VOLBA\n\r");
}
}
// End of File
|
{FILE END}
{FOOTER START}
Powered by WebSVN v2.8.3