数组移植后编译通不过,而原程序能过,不明白!

2019-07-21 03:24发布

求各位大神,uint8_t TX_DATA[2*length+5]数组移植后编译错误,通不过。求助!

而原程序能通过。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
physh
2019-07-21 17:15
关键问题是我也不知道这个数组应该定义多大。
void send_out(int16_t *data,uint8_t length,uint8_t send)
{

uint8_t TX_DATA[2*length+5],i=0,k=0;
memset(TX_DATA,0,(2*length+5));//清零缓存TX_DATA
TX_DATA[i++]=0X5A;//帧头
TX_DATA[i++]=0X5A;//帧头
TX_DATA[i++]=send;//功能字节
TX_DATA[i++]=2*length;//数据长度
for(k=0;k<length;k++)//存入数据到缓存TX_DATA
{
TX_DATA[i++]=(uint16_t)data[k]>>8;
TX_DATA[i++]=(uint16_t)data[k];
}
USART_Send(TX_DATA,sizeof(TX_DATA));
}

一周热门 更多>