打印

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

[复制链接]
674|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
damoyeren|  楼主 | 2016-10-27 15:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define UART_RX_BUFFER_SIZE 32 /* 1,2,4,8,16,32,64,128 or 256 bytes */
#define UART_RX_BUFFER_MASK ( UART_RX_BUFFER_SIZE - 1 ) //127
#define UART_TX_BUFFER_SIZE 32 /* 1,2,4,8,16,32,64,128 or 256 bytes */
#define UART_TX_BUFFER_MASK ( UART_TX_BUFFER_SIZE - 1 ) //127
PIC_Uart.UART_TxBuf[PICUart_TxHead] =0x68;
struct StructUart{
  unsigned char UART_RxBuf[UART_RX_BUFFER_SIZE];
  unsigned char UART_RxHead;
  unsigned char UART_RxTail;
  unsigned char UART_TxBuf[UART_TX_BUFFER_SIZE];
  unsigned char UART_TxHead;
  unsigned char UART_TxTail;
};
void DATApack_senddata(unsigned char Pdata[],unsigned char con_word,unsigned char num)
{
   unsigned char i;
   PIC_Uart.UART_TxBuf[PICUart_TxHead] =0x68;  
   PIC_Uart.UART_TxBuf[PICUart_TxHead] =0x00;
   PIC_Uart.UART_TxBuf[PICUart_TxHead] =Dever_ID;
   PIC_Uart.UART_TxBuf[PICUart_TxHead] =con_word;
   PIC_Uart.UART_TxBuf[PICUart_TxHead]=num;
   for(i=0;i<num;i++)
     PIC_Uart.UART_TxBuf[PICUart_TxHead]=Pdata[i];
   PIC_Uart.UART_TxBuf[PICUart_TxHead]=Parity_bit(PIC_Uart.UART_TxBuf+1,4+num);
   PIC_Uart.UART_TxBuf[PICUart_TxHead]=0x16;
   TXEN=1;//发送使能位
}


相关帖子

沙发
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只出现在定义里,代码里没有,神仙也看不懂啊。 ...

数组的索引是一样的啊 不会覆盖吗

使用特权

评论回复
5
NE5532| | 2016-10-28 13:06 | 只看该作者
抱歉,实在是看不懂,麻烦讲明白一点。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

126

主题

393

帖子

2

粉丝