②low=0,count<=512、开始写缓冲区的有512字节,每写入一个字节,缓冲区指针自动加1。
③low=1,count>=512、当缓冲区指针大于512,表示前512字节已被填满,此时将low置为1,开将缓冲区前512个字节的内容送入CF卡,标志位由0变为1。
④low=1,count<=512。当缓冲区指针指到1024时,缓冲区指针清0,重新开始计数。此时将后512字节的内容送入CF卡,标志位由1变为0。
⑤low=0,count<=512。下一次循环过程开始。
由于向CF卡写入数据的同时,手机端仍然有数据输出。为了防止在写CF卡的过程中出现数据丢失现象,单片机手同端的通信采用串行口中断方式。程序如下:
void single() interrupt 4 using 2//串行口中断服务子程序,中断号为4
{
if(RI= =1){ //判断是否为单行口输入引起的中断
mem[0xe800+count]=SBUF; //将串行数据缓冲器中的数据送至数据缓冲区
count++; //缓冲区指针自动加1
if(count= =1024){ //如果缓冲区指针指向1024,则清0,重新计数
count=0;
}
RI=0; //串行口接收中断请求标志位清0
}
else if(TI= =1){ //判断是否为串行口输出引起中断
TI=0; //串行口发送中断请求标志位清0
}
}
本文以移动通信的手机测试系统的背景,介绍了CF卡在手机测试系统中的具体应用,包括其硬件开发和软件实现。由于CF卡具高传输速率,大容量非易失性固态盘,掉电数据不丢失,良好的震性能,宽温工作范围与所有数码相机、便携式PC、数字式音频播放器及其它具有Compact Flash插槽的设备兼容等特点,它的应用范围也将越来越广泛。
本文关键字:手机 嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术