PC机串口通信的工作原理 - 图文(3)

2019-08-29 19:18

UART_RxTail = x; UART_RxHead = x; UART_TxTail = x; UART_TxHead = x; }

/* interrupt handlers */

void UART_interrupt( void ) interrupt 4 { if (TI)

{ // 是否是发送中断 unsigned char tmptail; TI=0;

if (UART_TxTail==UART_TxHead) {

fSeri0_Send_Ok=0; /*已发送完毕*/ } else {

tmptail = ( UART_TxTail + 1 ) & UART_TX_BUFFER_MASK; UART_TxTail = tmptail; /* store new index */ SBUF = UART_TxBuf[tmptail]; /* start transmition */ } } if (RI) {

unsigned char revdata; unsigned char tmphead; RI=0;

revdata = SBUF;

tmphead = ( UART_RxHead + 1 ) & UART_RX_BUFFER_MASK; UART_RxHead = tmphead; /* store new index */

UART_RxBuf[tmphead] = revdata; /* store received data in buffer */ } }

unsigned char ReceiveByte( void ) {

unsigned char tmptail;

while ( UART_RxHead == UART_RxTail );/* wait for incomming data */

tmptail = ( UART_RxTail + 1 ) & UART_RX_BUFFER_MASK;/* calculate buffer index */ UART_RxTail = tmptail; /* store new index */ return UART_RxBuf[tmptail]; /* return data */ }

voidTransmitByte( unsigned char senddata ) {

unsigned char tmphead;

tmphead = ( UART_TxHead + 1 ) & UART_TX_BUFFER_MASK; UART_TxBuf[tmphead] = senddata; /* store data in buffer */ UART_TxHead = tmphead; /* store new index */ if(fSeri0_Send_Ok==0) {

fSeri0_Send_Ok=1; TI=1; } }


PC机串口通信的工作原理 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:福建省人民政府关于公布省政府现行规章及属于规章性质的省政府现

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: