/**********************************************************************
/* MAIN.C file
*
* Copyright (c) 2002-2005 STMicroelectronics
*/
//EEPROM的读写
//先对)0x40000写入0x12
//在读出来写的数据
//如果是0x12,就使得PD的前4位输出颠倒
#include "stm8s103f.h"
unsigned char ch;
main()
{
unsigned char *p;
PD_DDR=0x0f;
PD_CR1=0x0f;
PD_CR2=0x00;
PD_ODR=0x00;
p=(unsigned char *)0x4000;//指针P指向EEPROM的第一个单元
do
{
FLASH_DUKR=0xae;//写入第一个密钥
FLASH_DUKR=0x56;//写入第一个密钥
}while((FLASH_IAPSR&0x08)==0);//若解锁未成功,则继续写
*p=0x12;//写入第一个字节
while((FLASH_IAPSR&0x04)==0) ;//等待写操作成功
ch=*p;
while (1)
{
if(ch==0x12)
{
PD_ODR^=0x0f;
}
}
}
/*************************