zoukankan      html  css  js  c++  java
  • 指针接收函数

    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; //发送完关闭串口发送中断
        }
    }
  • 相关阅读:
    开发管理工具(日常)
    python之uWSGI和WSGI
    php之Opcache
    nginx之健康检查
    重构糟糕的代码(一)
    PHP之50个开源项目
    Redis之各版本特性
    Redis之淘汰策略
    Redis之过期策略
    高并发之nginx限制
  • 原文地址:https://www.cnblogs.com/liushao/p/7341048.html
Copyright © 2011-2022 走看看