单片机串口队列发送和接收问题

[复制链接]
922|4
 楼主| damoyeren 发表于 2016-10-27 15:21 | 显示全部楼层 |阅读模式
  1. #define UART_RX_BUFFER_SIZE 32 /* 1,2,4,8,16,32,64,128 or 256 bytes */
  2. #define UART_RX_BUFFER_MASK ( UART_RX_BUFFER_SIZE - 1 ) //127
  3. #define UART_TX_BUFFER_SIZE 32 /* 1,2,4,8,16,32,64,128 or 256 bytes */
  4. #define UART_TX_BUFFER_MASK ( UART_TX_BUFFER_SIZE - 1 ) //127
  5. PIC_Uart.UART_TxBuf[PICUart_TxHead] =0x68;
  6. struct StructUart{
  7.   unsigned char UART_RxBuf[UART_RX_BUFFER_SIZE];
  8.   unsigned char UART_RxHead;
  9.   unsigned char UART_RxTail;
  10.   unsigned char UART_TxBuf[UART_TX_BUFFER_SIZE];
  11.   unsigned char UART_TxHead;
  12.   unsigned char UART_TxTail;
  13. };
  1. void DATApack_senddata(unsigned char Pdata[],unsigned char con_word,unsigned char num)
  2. {
  3.    unsigned char i;
  4.    PIC_Uart.UART_TxBuf[PICUart_TxHead] =0x68;  
  5.    PIC_Uart.UART_TxBuf[PICUart_TxHead] =0x00;
  6.    PIC_Uart.UART_TxBuf[PICUart_TxHead] =Dever_ID;
  7.    PIC_Uart.UART_TxBuf[PICUart_TxHead] =con_word;
  8.    PIC_Uart.UART_TxBuf[PICUart_TxHead]=num;
  9.    for(i=0;i<num;i++)
  10.      PIC_Uart.UART_TxBuf[PICUart_TxHead]=Pdata[i];
  11.    PIC_Uart.UART_TxBuf[PICUart_TxHead]=Parity_bit(PIC_Uart.UART_TxBuf+1,4+num);
  12.    PIC_Uart.UART_TxBuf[PICUart_TxHead]=0x16;
  13.    TXEN=1;//发送使能位
  14. }


 楼主| damoyeren 发表于 2016-10-27 15:22 | 显示全部楼层
这个会不会发送数据覆盖啊  mask没有看懂是干啥 大神清指点
NE5532 发表于 2016-10-27 16:11 | 显示全部楼层
请解释一下什么叫“数据覆盖”??看不懂。

mask只出现在定义里,代码里没有,神仙也看不懂啊。
 楼主| damoyeren 发表于 2016-10-28 12:24 | 显示全部楼层
NE5532 发表于 2016-10-27 16:11
请解释一下什么叫“数据覆盖”??看不懂。

mask只出现在定义里,代码里没有,神仙也看不懂啊。 ...

数组的索引是一样的啊 不会覆盖吗
NE5532 发表于 2016-10-28 13:06 | 显示全部楼层
抱歉,实在是看不懂,麻烦讲明白一点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

126

主题

393

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部