📄 ipod.c
字号:
/*
* Copyright (c) 2007,广东惠台数码科技有限公司开发部
* All rights reserved.
*
* 文件名称:ipod.c
* 文件标识:
* 摘 要:与ipod控制相关的函数集
*
* 当前版本:1.0 (First creation)
* 作 者:Victor Ning
* 完成日期:2007年12月4日
*/
#include < REG89S52.H >
#include "typedef.h"
#include "key.h"
#define OLEN 32 /* size of serial transmission buffer */
idata unsigned char outbuf[OLEN]; /* storage for transmission buffer */
unsigned char idata *outlast=outbuf; //最后由中断传输出去的字节位置
unsigned char idata *putlast=outbuf; //最后放入发送缓冲区的字节位置
#define ILEN 12 /* size of serial receiving buffer */
idata unsigned char inbuf[ILEN];
unsigned char idata *inlast=inbuf; //最后由中断进入接收缓冲区的字节位置
unsigned char idata *getlast=inbuf; //最后取走的字节位置
bit outBufEmpFlg; //out buffer empty flag
bit outBufFulFlg; //out buffer full flag
bit inBufEmpFlg; //in buffer empty flag
bit inBufFulFlg; //输入缓冲区满标志 满=1
static UBYTE iBtn[4]={0,0,0,0};
/******************************************************************************
函数:void UartInit(void)
功能:initalize Universal Asynchronous Reciever and Transmitter
输入:
输出:
说明:
******************************************************************************/
void UartInit(void)
{
//set PCON register
//PCON|=SMOD1_; //set SMOD1
/*PCON&=~SMOD0_; //clear SMOD0
//set SMOD register
SM0=0;
SM1=1; //set UART in mode1
SM2=0;
TB8=1;
REN=1;
//set T2CON register
RCLK=1;
TCLK=1;*/
SCON=0X50;
T2CON=0X34;
//set T2 reload register
RCAP2H=0xff;
RCAP2L=0xEC;
outBufEmpFlg=1;
outBufFulFlg=0;
inBufEmpFlg=1;
inBufFulFlg=0;
TI=1;
TR2=1;
}
/******************************************************************************
函数:BOOL PutOneByteToOutBuf(UBYTE d)
功能:send one byte to out buffer
输入:
输出: 不成功则反回FLASE
说明:
******************************************************************************/
BOOL PutOneByteToOutBuf(UBYTE d)
{
ES=0; /*暂停串行中断,以免数据比较时出错
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -