一個(gè)字符輸入的問(wèn)題
void mg323_gprs_send(u16 x,u16 y,u8 *text_to_send,u8 text_length)
{
u8 a[15];
u8 *p=a;
memset(p,0,15);
sprintf((char*)p,"AT^SISW=1,%c",text_length+48); //”AT^SISW=1,n“為發(fā)送指令,n表示發(fā)送長(cháng)度
USART2_RX_STA=0;
if(mg323_send_cmd(p,"^SISW",500))
{
LCD_ShowString(x,y+120,200,16,16,"Send failed:1!");
}
if(mg323_send_cmd(text_to_send,"^SISW",500)) //此命令會(huì )在數據后面加"",不過(guò)沒(méi)有關(guān)系因為發(fā)送的數據限定在text_length個(gè)字節
{
LCD_ShowString(x,y+120,200,16,16,"Send failed:2!");
}else LCD_ShowString(x,y+120,200,16,16,"Text send is successed!");
}
這樣一來(lái)我要讀入這個(gè)長(cháng)度,但是我發(fā)現sprintf((char*)p,"AT^SISW=1,%c",text_length+48);這個(gè)地方,長(cháng)度必須要加48,然后范圍必須是0-9,大于這個(gè)數就出現下面情況:
有沒(méi)有什么辦法可以把一個(gè)兩位或三位數字合并到這個(gè)字符串里?

有沒(méi)有什么辦法可以把一個(gè)兩位或三位數字合并到這個(gè)字符串里?
這個(gè)問(wèn)題還沒(méi)解決,但是單單這一個(gè)text_length+48就折騰了我半天,還弄的有點(diǎn)迷糊。。。在此做個(gè)標記!
評論