首页 > 代码库 > 指针接收函数
指针接收函数
static struct _USART_BUF_FIFO_ { U8 wr; U8 rd; U8 ct; U8 buff[USART_BUF_LEN]; };
struct _USART_BUF_FIFO_ TX_fifo , RX_fifo;
void usart_tx_interrupt(void) { U8 i; i = TX_fifo.ct; // 继续发送缓冲区内数据 if (i != 0) { // 数据字节长度减一 TX_fifo.ct = --i; // 读索引值读取数据 i = TX_fifo.rd; TXREG = TX_fifo.buff[i++]; // 读索引值自动回零 TX_fifo.rd = i % USART_BUF_LEN; } // 长度为零数据全部发送 else { PIE1bits.TXIE = 0; //发送完关闭串口发送中断 } }
void usart_tx_interrupt(void) { U8 *p; U8 *p1; U8 *p2; p = &TX_fifo.ct; p1 = &TX_fifo.rd; p2 = &TX_fifo.buff; if (*p != 0) { // 数据字节长度减一 (*p)--; // 读索引值读取数据 TXREG = *(p2+(*p1)); (*p1)++; // 读索引值自动回零 *p1 = (*p1) % USART_BUF_LEN; } // 长度为零数据全部发送 else { PIE1bits.TXIE = 0; //发送完关闭串口发送中断 } }
指针接收函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。