在线时间0 小时
UID280897
注册时间2011-4-20
NXP金币0
该用户从未签到
新手上路

- 积分
- 53
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2011-7-29 10:11:15
|
显示全部楼层
RE:SCI 困惑,为什么接受的时候,发了一窜数据,只来一个中断,只能接收一个字节的数据
code :
/*
** ===================================================================
** Interrupt handler : isrVsci1rx
**
** Description :
** User interrupt service routine.
** Parameters : None
** Returns : Nothing isrVsci1rx
** ===================================================================
*/
__interrupt void isrVsci1rx(void)
{
/*
while(SCI1S1_RDRF!=1){};
Uart_Buffer[Data_IN++] = SCI1D;
//delayConst1mS(1);
SCI1S1_RDRF = 0;
Data_IN %= RX_BUFFER_SIZE;
delayConst1mS(1);
*/
while(SCI1S1_RDRF!=1){};
Uart_Buffer[Data_IN++] = SCI1D;
//delayConst1mS(1);
//SCI1S1_RDRF = 0;
//SCIWriteData(&Uart_Buffer[Data_IN],3);
Data_IN %= RX_BUFFER_SIZE;
SCIWriteData(&SCI1D,1);
//delayConst1mS(1);
}
/*
** ===================================================================
** Function : SCIWriteData
**
** Description :
** Write data to UART.
** Parameters : unsigned char *addr,unsigned char num
** Returns : Nothing
** ===================================================================
*/
void SCIWriteData(unsigned char *addr,unsigned char num)
{
//DisableInterrupts;
//unsigned char i = 0;
pucBuffer =(unsigned char *) addr;
ucUart_OUT_NUM = num;
DE1_OUT=1;
TXD_ENABLE=1;
TXDI_ENABLE=1;
delayConst1mS(10);
EnableInterrupts;
} |
|