久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
求助,新唐n76e003的板子存儲數據不進ram里面
[打印本頁]
作者:
1030245018
時間:
2020-12-1 17:43
標題:
求助,新唐n76e003的板子存儲數據不進ram里面
存儲數據不進ram里面 是為什么這源代碼
include "STK_EEPROM.H"
//#include "MS51_16K.H"
uchar xdata memory[64];
bit BIT_TMP=0;
extern uchar Address_l,Address_h;
uchar Memory_save[20];
void Enable_IAP_Mode(void)
{
BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;CHPCON |= 0x01 ;EA=BIT_TMP;
}
//-----------------------------------------------------------------------------------------------------------
void Disable_IAP_Mode(void)
{
BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;CHPCON &= ~0x01;EA=BIT_TMP;
}
//-----------------------------------------------------------------------------------------------------------
bit Trigger_IAP(void)
{
BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;IAPTRG |= 0x01 ;EA=BIT_TMP; //trigger IAP
if((CHPCON&0x40)==0x40) //check IAPFF (CHPCON.6)
{
return 0;
}
return 1;
}
//uchar xdata IAP_AUX[64] _at_ 0x100; //外部擴展RAM 位址(限定IAP 能使用)
//-------------------------------------------------------------
void Initeeprom()
{
EEdaly();
EEdaly();
EEdaly();
EEdaly();
EERead();
if(memory[0]!=0xAA)//沒有進行初始化
{
memory[0]=0xAA;//存儲標志位
// //預留6個字節地址位
memory[1]=(uchar)on_off;//開關標志
memory[2]=Frozen_Flag; //暫停模式標志
memory[3]=Touch_Cut;//色環值
memory[4]= Dim_Lv; //亮度
memory[5]= Mode_Step; //模式
memory[6]= Speed_3_Jump_Lv;; //3色漸變速度
memory[7]= Speed_7_Jump_Lv; //7色漸變速度
memory[8]= Speed_3_Faded_Lv; //3色跳變速度
memory[9]= Speed_7_Faded_Lv; //7色跳變速度
memory[10]= Address_l; //低地址碼
memory[11]= Address_h; //高地址碼
memory[12] = Color_Num;
EEWrite();
}
else
{
on_off=(bit)memory[1]; //亮度
Frozen_Flag=memory[2];//開關標志
Touch_Cut=memory[3];//自動模式標志
Dim_Lv= memory[4];
Mode_Step= memory[5];
Speed_3_Jump_Lv= memory[6];
Speed_7_Jump_Lv= memory[7];
Speed_3_Faded_Lv= memory[8];
Speed_7_Faded_Lv= memory[9];
Address_l = memory[10]; //低地址碼
Address_h = memory[11]; //高地址碼
Color_Num = memory[12];
}
}
//將數據寫入存儲
void Write_Memory()
{
memory[1]=(uchar)on_off;//開關標志
memory[2]=Frozen_Flag; //暫停模式標志
memory[3]=Touch_Cut;//色環值
memory[4]= Dim_Lv; //亮度
memory[5]= Mode_Step; //模式
memory[6]= Speed_3_Jump_Lv;; //3色漸變速度
memory[7]= Speed_7_Jump_Lv; //7色漸變速度
memory[8]= Speed_3_Faded_Lv; //3色跳變速度
memory[9]= Speed_7_Faded_Lv; //7色跳變速度
memory[10]= Address_l; //低地址碼
memory[11]= Address_h; //高地址碼
memory[12] = Color_Num;
EEWrite();
}
void Erase_APROM_Page(unsigned int Page_Num)
{
Enable_IAP_Mode();
IAPFD = 0xFF;
IAPCN = 0x22;
BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;IAPUEN |= 0x01 ;EA=BIT_TMP;
IAPAL = (Page_Num*128) & 0xFF;
IAPAH = ((Page_Num*128)>>8)&0xFF;
Trigger_IAP();
BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;IAPUEN &= ~0x01;EA=BIT_TMP;
Disable_IAP_Mode();
}
/*************eeprom***********/
void EEWrite(void)
{
unsigned char u8Count;
Erase_APROM_Page(128);
Enable_IAP_Mode();
IAPAL = (128*128) & 0xFF;
IAPAH = ((128*128)>>8)&0xFF;
IAPCN = 0x21;
//set_APUEN;
BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;IAPUEN |= 0x01 ;EA=BIT_TMP;
for(u8Count=0;u8Count<64;u8Count++)
{
IAPFD = memory[u8Count];
Trigger_IAP();
IAPAL++;
}
BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;IAPUEN &= ~0x01;EA=BIT_TMP;
Disable_IAP_Mode();
}
/***************************************************************************/
//void EERead(unsigned int Page_Num, unsigned int num)
void EERead()
{
unsigned int num;
Enable_IAP_Mode();
IAPAL = (128*128) & 0xFF;
IAPAH = ((128*128)>>8)&0xFF;
for (num=0; num<64; num++)
{
IAPCN = 0x00;
Trigger_IAP();
memory[num] = IAPFD;
IAPAL++;
}
Disable_IAP_Mode();
}
void EEdaly()
{
uint i;
for(i=100;i>0;i--)
_nop_();
}
volatile unsigned char code OTHER_DATA_Flash[11] _at_ OTHER_DATA_ADDR;
// unsigned char code COLOR_DATA_Flash[COLOUR_DN] _at_ COLOR_DATA_ADDR;
//volatile unsigned char code SCENE_DATA_Flash[SCENE_DN] _at_ SCENE_DATA_ADDR;
//void delay_xus(unsigned int x)
//{
// unsigned int i,j;
// for(i=0;i<x;i++)
// for(j=0;j<1000;j++);
//}
void Write_Data_To_Flash_Continued(unsigned int u16_addr, unsigned char *pDat,unsigned char num)
{
unsigned char looptmp;
unsigned int u16_addr_page,u16_addr_upd;
//Erase APROM DATAFLASH page
u16_addr_page=(u16_addr/128)*128;
set_CHPCON_IAPEN; //enable IAP mode
set_IAPUEN_APUEN; //enable APROM update
// set_IAPTRG_IAPGO;
if(u16_addr_page==SCENE_DATA_ADDR) //使用兩個扇區保存場景數據
{
IAPAL = u16_addr_page&0xff; //寫入L地址
IAPAH = (u16_addr_page>>8)&0xff; //寫入H地址
IAPFD = 0xFF; //寫入數據
IAPCN = 0x22; //寫入命令:APROM頁擦除
set_IAPTRG_IAPGO;
IAPAL = (u16_addr_page+128)&0xff; //寫入L地址
IAPAH = ((u16_addr_page+128)>>8)&0xff; //寫入H地址
IAPFD = 0xFF; //寫入數據
IAPCN = 0x22; //寫入命令:APROM頁擦除
}
else
{
IAPAL = u16_addr_page&0xff; //寫入L地址
IAPAH = (u16_addr_page>>8)&0xff; //寫入H地址
IAPFD = 0xFF; //寫入數據
IAPCN = 0x22; //寫入命令:APROM頁擦除
}
set_IAPTRG_IAPGO;
//Write_Data_To_Flash APROM
u16_addr_upd = u16_addr;
set_CHPCON_IAPEN;
set_IAPUEN_APUEN;
IAPCN = 0x21; //寫入命令:APROM字節編程
for(looptmp=0;looptmp<num;looptmp++)
{
IAPAL = (u16_addr_upd&0xff); //寫入L地址
IAPAH = (u16_addr_upd>>8)&0xff; //寫入H地址
IAPFD = pDat[looptmp];
set_IAPTRG_IAPGO;
u16_addr_upd++;
}
clr_IAPUEN_APUEN;
clr_CHPCON_IAPEN;
}
作者:
hsl32
時間:
2020-12-2 08:32
我是這樣用的,讀的時候當數組讀。
volatile unsigned char code SYS_In[128] _at_ 0x4580; // EEP_整定電流+系統開關
void save_set_In(void)
{
/* **先擦除**/
IAPAL = 0x80; // 地址
IAPAH = 0x45;
IAPFD = 0xFF; // 數據
set_IAPEN; // 開使能
set_APUEN;
IAPCN = 0x22; // 擦除命令
set_IAPGO;
/* **********/
IAPAL = 0x80;
IAPAH = 0x45;
IAPCN = 0x21; // 字節寫命令
IAPFD = set_In ;
set_IAPGO; // 起動AIP
IAPAL++;
IAPFD = SYS_off;
set_IAPGO;
IAPAL++;
IAPFD = set_InL;
set_IAPGO;
IAPAL++;
IAPFD = 0xaa;
set_IAPGO;
clr_APUEN;
clr_IAPEN;
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品视频免费观看
|
亚洲成人精品
|
91精品一区
|
午夜寂寞影院在线观看
|
成人妇女免费播放久久久
|
久久黄色
|
亚洲区一区二区
|
视频一区二区中文字幕日韩
|
视频一区在线观看
|
久久精品影视
|
成人在线一区二区
|
亚洲在线电影
|
中文字幕在线视频观看
|
精品国产欧美日韩不卡在线观看
|
欧美在线日韩
|
亚洲激情在线视频
|
国产精品色
|
亚洲成人一区
|
国产精品久久久久久亚洲调教
|
久久久久久久久久久一区二区
|
国产欧美精品一区二区
|
欧美激情在线一区二区三区
|
国产精品一级在线观看
|
久草欧美视频
|
久久久91精品国产一区二区三区
|
欧美一二精品
|
免费观看www
|
成人在线观看免费观看
|
国产在线永久免费
|
欧美一区二区激情三区
|
成人欧美一区二区三区在线播放
|
亚洲日韩欧美一区二区在线
|
成人欧美一区二区三区黑人孕妇
|
久久一区
|
精品视频一区二区
|
国产精品日韩欧美
|
美女久久久
|
狠狠操天天干
|
日韩精品在线看
|
99pao成人国产永久免费视频
|
精品日韩一区二区
|