main.c

来自「用ADuC8xx单片机实现AD转换、DA转换、片内flashdata的操作、定时」· C语言 代码 · 共 71 行

C
71
字号
#include <stdio.h>
#include <ADUC812.H>

#include "flash.h"

void main (void)
{
int i;
int t;

SCON = 0x52 ;                 // 8bit, noparity, 1stopbit
TMOD = 0x20 ;                 // configure Timer1..
TH1  = 0xFD ;                 // ..for 9600baud..
TR1  = 1 ;                    // ..(assuming 11.0592MHz crystal)

TI    = 1;                  /* TI:   set TI to send first char of UART          */


flash_read  (&i, sizeof (i), 0);
printf ("READ: i = %d\n", i);

flash_read  (&t, sizeof (t), 2);
printf ("READ: t = %d\n", t);

if (i != t)
  {
  printf ("i != t: Clearing Memory\n");
  flash_erase_all ();

  printf ("Writing zeroes.\n");
  i = 0;
  flash_write (&i, sizeof (i), 0);
  flash_write (&i, sizeof (i), 2);
  }
else if (i > 10)
  {
  printf ("\nYou've re-booted more than 10 times.  Clearing Memory.\n");
  flash_erase_all ();

  printf ("Writing zeroes.\n");
  i = 0;
  flash_write (&i, sizeof (i), 0);
  flash_write (&i, sizeof (i), 2);
  }
else if (i < 0)
  {
  printf ("\ni is a negative number.  Clearing Memory.\n");
  flash_erase_all ();

  printf ("Writing zeroes.\n");
  i = 0;
  flash_write (&i, sizeof (i), 0);
  flash_write (&i, sizeof (i), 2);
  }
else
  {
  printf ("\nYou've been here before.  Incrementing i.\n");

  i++;
  flash_write (&i, sizeof (i), 0);
  flash_write (&i, sizeof (i), 2);
  }

while (1)
  {
  }
}



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?