|
我想做的模块的基本功能就是从两个节点上采集数据然后传到协调器上通过lcd显示出来,但是现在出现了一个不大不小的问题,请高人指点!
先贴代码
static void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
{
//char lcd_str[10];
char lcd[10];
char lcd_str[10];
switch ( pkt->clusterId )
{
case GENERICAPP_wenshidu_CLUSTERID:
HalUARTWrite(0, pkt->cmd.Data, pkt->cmd.DataLength); //输出接收到的数据
HalUARTWrite(0, "\n", 1); // 回车换行
// osal_memcpy(lcd_str, pkt->cmd.Data, 6);
//HalLcdWriteString("T&H", HAL_LCD_LINE_1); //LCD显示
//osal_memcpy(lcd_str, "T&H:", 4);
lcd_str[0]= 'T';
lcd_str[1]= '&';
lcd_str[2]= 'H';
lcd_str[3]= ':';
lcd_str[4]= pkt->cmd.Data[1];
lcd_str[5]= pkt->cmd.Data[2];
lcd_str[6]= ' ';
lcd_str[7]= pkt->cmd.Data[4];
lcd_str[8]= pkt->cmd.Data[5];
lcd_str[9]= '%';
//osal_memcpy(lcd, "A&B:", 4);
lcd[0]= 'A';
lcd[1]= '&';
lcd[2]= 'H';
lcd[3]= ':';
lcd[4]= pkt->cmd.Data[1];
lcd[5]= pkt->cmd.Data[2];
lcd[6]= ' ';
lcd[7]= pkt->cmd.Data[4];
lcd[8]= pkt->cmd.Data[5];
lcd[9]= '%';
HalLcdWriteString(lcd_str, HAL_LCD_LINE_3); //LCD显示
HalLcdWriteString(lcd, HAL_LCD_LINE_5); //LCD显示
break;
case GENERICAPP_CLUSTERID:
break;
}
}
现在LCD上确实能显示我发送的数据但是在第三行却直接显示了T&H和A&H两个数据也就是说第三行显示了两个数据
而第五行则显示正确只有A&H的数据,求大神指教!谢谢~! |
|