?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