一個字符輸入的問題
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ā)送長度
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)) //此命令會在數(shù)據(jù)后面加"",不過沒有關(guān)系因為發(fā)送的數(shù)據(jù)限定在text_length個字節(jié)
{
LCD_ShowString(x,y+120,200,16,16,"Send failed:2!");
}else LCD_ShowString(x,y+120,200,16,16,"Text send is successed!");
}
這樣一來我要讀入這個長度,但是我發(fā)現(xiàn)sprintf((char*)p,"AT^SISW=1,%c",text_length+48);這個地方,長度必須要加48,然后范圍必須是0-9,大于這個數(shù)就出現(xiàn)下面情況:
有沒有什么辦法可以把一個兩位或三位數(shù)字合并到這個字符串里?
有沒有什么辦法可以把一個兩位或三位數(shù)字合并到這個字符串里?
這個問題還沒解決,但是單單這一個text_length+48就折騰了我半天,還弄的有點迷糊。。。在此做個標記!
評論