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;”);
}