18.2.17 多字节突发方式读取RAM子函数

多字节突发方式读取RAM子函数用于读取实时时钟芯片DS1302内部RAM的数据。在程序中,首先以多字节突发方式来读取DS1302的片内RAM,并将数据保存在数组中,接着将各个数据输出显示。多字节突发方式读取RAM子函数程序代码示例如下。


void BurstReadRAM()//多字节突发方式读取RAM子函数

{

uchar DS1302RAM[31];//RAM数组

uchar i;

ResetDS1302();//复位DS1302

WriteByteDS1302(0xFF);//多字节方式读取RAM

for(i=0;i<31;++i)

{

DS1302RAM[i]=ReadByteDS1302();//保存数据到RAM数组

}

ResetDS1302();//复位DS1302

printf(“\nDS1302 RAM Data;”);//输出片内RAM的数据

printf(“\n%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX”,

DS1302RAM[0],DS1302RAM[1],DS1302RAM[2],DS1302RAM[3],

DS1302RAM[4],DS1302RAM[5],DS1302RAM[6],DS1302RAM[7]);

printf(“\n%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX”,

DS1302RAM[8],DS1302RAM[9],DS1302RAM[10],DS1302RAM[11],

DS1302RAM[12],DS1302RAM[13],DS1302RAM[14],DS1302RAM[15]);

printf(“\n%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX”,

DS1302RAM[16],DS1302RAM[17],DS1302RAM[18],DS1302RAM[19],

DS1302RAM[20],DS1302RAM[21],DS1302RAM[22],DS1302RAM[23]);

printf(“\n%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX%2.bX”,

DS1302RAM[24],DS1302RAM[25],DS1302RAM[26],DS1302RAM[27],

DS1302RAM[28],DS1302RAM[29],DS1302RAM[30]);

printf(“\nEND RAM Data;”);

}