Слияние кода завершено, страница обновится автоматически
#include<STC12C5A60S2.h>
#include "EEPROM.h"
#include "intrins.h"
void IapIdle(void)
{
IAP_CONTR = 0 ; //关闭IAP功能
IAP_CMD = 0 ; //清除命令寄存器
IAP_TRIG = 0 ; //清除触发寄存器
IAP_ADDRH = 0x80 ; //将地址设置到非IAP地址区域
IAP_ADDRL = 0 ;
}
//从ISP/IAP/EEPROM区域读取1字节
unsigned char IapReadByte(unsigned int addr)
{
unsigned char dat;
IAP_CONTR = ENABLE_IAP; //使能IAP
IAP_CMD = CMD_READ; //设置IAP命令为“读”
IAP_ADDRL = addr ; //设置IAP低位地址
IAP_ADDRH = addr>>8 ; //设置IAP高位地址
IAP_TRIG = 0x5a; //写触发命令(0x5a)
IAP_TRIG = 0xa5; //写触发命令(0xa5)[触发命令必须先送0x5a 再送0xa5才能成功触发]
_nop_(); //等待ISP/IAP/EEPROM操作完成
dat = IAP_DATA; //读取ISP/IAP/EEPROM数据
IapIdle(); //关闭IAP功能
return dat;
}
//写1字节数据到从ISP/IAP/EEPROM区域
void IapProgramByte(unsigned int addr,unsigned char dat)
{
IAP_CONTR = ENABLE_IAP; //使能IAP
IAP_CMD = CMD_PROGRAM; //设置IAP命令为“写”
IAP_ADDRL = addr ; //设置IAP低位地址
IAP_ADDRH = addr>>8 ; //设置IAP高位地址
IAP_DATA = dat; //写ISP/IAP/EEPROM数据
IAP_TRIG = 0x5a; //写触发命令(0x5a)
IAP_TRIG = 0xa5; //写触发命令(0xa5)[触发命令必须先送0x5a 再送0xa5才能成功触发]
_nop_(); //等待ISP/IAP/EEPROM操作完成
IapIdle(); //关闭IAP功能
}
//扇区擦除(使用擦除扇区命令擦除整个扇区,stc15f2k60s2总共两个扇区,0x0000-0x01FF和0x0200-0x03FF,故addr=0x0000 或 0x0200)
//注意!在扇区地址存有数据后不可再次向此地址写数据,需全部清空所在扇区数据才可重新向此地址写入数据
void IapEraseSector(unsigned int addr)
{
IAP_CONTR = ENABLE_IAP; //使能IAP
IAP_CMD = CMD_ERASE; //设置IAP命令为“擦除”
IAP_ADDRL = addr ; //设置IAP低位地址
IAP_ADDRH = addr>>8 ; //设置IAP高位地址
IAP_TRIG = 0x5a; //写触发命令(0x5a)
IAP_TRIG = 0xa5; //写触发命令(0xa5)[触发命令必须先送0x5a 再送0xa5才能成功触发]
_nop_(); //等待ISP/IAP/EEPROM操作完成
IapIdle(); //关闭IAP功能
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )