EasyManua.ls Logo

STC micro STC8A8K64D4 Series - Page 482

Default Icon
901 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
STC8A8K64D4 Series Manual
- 466 -
u16 GetAddress(void)
{
u16 address;
u8 i;
address = 0;
if(RX1_Cnt < 3) return 65535; //error
if(RX1_Cnt <= 5) //Within 5 bytes is sector operation, decimal,
//Command supported: E 0, E 12, E 120
// W 0, W 12, W 120
// R 0, R 12, R 120
{
for(i=2; i<RX1_Cnt; i++)
{
if(CheckData(RX1_Buffer[i]) > 9)
return 65535; //error
address = address * 10 + CheckData(RX1_Buffer[i]);
}
if(address < 124) //Limited to sectors 0~123
{
address <<= 9;
return (address);
}
}
else if(RX1_Cnt == 8) //8 bytes direct address operation, hex,
//Command supported: E 0x1234, W 0x12b3, R 0x0A00
{
if((RX1_Buffer[2] == '0') && ((RX1_Buffer[3] == 'x') || (RX1_Buffer[3] == 'X')))
{
for(i=4; i<8; i++)
{
if(CheckData(RX1_Buffer[i]) > 0x0F)
return 65535; //error
address = (address << 4) + CheckData(RX1_Buffer[i]);
}
if(address < 63488)
return (address); //Limited to sectors 0~123
}
}
return 65535; //error
}
//========================================================================
// Function: void delay_ms(u8 ms)
// Description: delay function
// Parameters: ms, the number of ms to delay, here only supports 1~255ms. Automatically adapt to the main clock.
// Return: none.
// Version: VER1.0
// Date: 2013-4-1
// Remark:
//========================================================================
void delay_ms(u8 ms)
{
u16 i;
do
{
i = MAIN_Fosc / 10000;

Table of Contents

Related product manuals