📄 mycommmain.c
字号:
#pragma SFR //special function register
#pragma NOP
#pragma DI
#pragma EI
/*
**PROJECT = HDTV REMOTE CONTROL RECEPTION PROCESSING
**MODULE = MyCommMain.c
**SHORT DESC. = UART(half duplex)
**DEVICE = UPD789417
**VERSION = 0.1
**DATE = 08.08.2003
**LAST CHANGE = -
*/
#include "MyDefine.h"
#include "MyCommIO.h"
extern void GetDataFromReception();
extern void CommReceptionEnabled();
extern void InitializeCom();
extern void SetDataTransmitBuffer();
extern Uchar g_bufTransmit[SERIAL_BUF_TRANSMIT]; //Transmit buffer
extern sreg Uchar *g_p_bufTransmit;
extern Uchar g_keyValue;
bit g_btReceptionEnd;
bit g_btTransmitStart;
//bit g_btTransmitOneTest;
//Uchar message[] = "This is a test to see if the interrupt driven serial
// I/O routines really work.";
void main (void)
{
//InitializeCom(); /* initialize interrupt driven serial I/O */
//The two statements are only used in COMM debugging programme.
//g_btReceptionEnd = 1;
g_btTransmitStart = 1; //Test????
//g_btTransmitOneTest = 1;
while (TRUE)
{
//This block is a test routine of transmission.
//if(g_btTransmitOneTest)
//{
//g_btTransmitOneTest = 0;
//g_keyValue = 0x8;
//SetDataTransmitBuffer(4);
//g_btTransmitStart = 1;
//g_btReceptionEnd = 1; //temporarily!
//}
//The following part of "if" block belongs to main inquiry routine.
//Transmit data only when reception is finished.
//g_btReceptionEnd is set to 1 in the initial status.
//Note:set g_btReceptionEnd to 1 after 20ms when reception ends.
if(g_btReceptionEnd)
{
NOP();
NOP();
g_btReceptionEnd = 0;
GetDataFromReception(); //Process data after reception ends.
//???g_btTransmitStart is set to 1 in INTST00 when transmit the
//???second data.
//Clear g_btTransmitStart when having transmited the last data in
//Inter_ST().
if(g_btTransmitStart)
{
g_btTransmitStart = 0; //Test!!!!???
g_keyValue = 0x8; //Test!!!!
SetDataTransmitBuffer(4); //Test!!!!
STIF00 = 0;
TXE00 = 1; //Transmission enabled
STMK00 = 0;
//The transmission buffer pointer is initialized.
g_p_bufTransmit = g_bufTransmit; //The transmit buffer pointer
TXS00 = WAKE_CODE; //Send wake code firstly.
}
else
{
CommReceptionEnabled();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -