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 + -
显示快捷键?