一个字符输入的问题

mg323模块发送数据时必须要指明长度,所以我就把函数改了:
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“为发送指令,n表示发送长度
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))   //此命令会在数据后面加"\r\n",不过没有关系因为发送的数据限定在text_length个字节
{
LCD_ShowString(x,y+120,200,16,16,"Send failed:2!");
}else LCD_ShowString(x,y+120,200,16,16,"Text send is successed!");
}
这样一来我要读入这个长度,但是我发现sprintf((char*)p,"AT^SISW=1,%c",text_length+48);这个地方,长度必须要加48,然后范围必须是0-9,大于这个数就出现下面情况:

有没有什么办法可以把一个两位或三位数字合并到这个字符串里?
这个问题还没解决,但是单单这一个text_length+48就折腾了我半天,还弄的有点迷糊。。。在此做个标记!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值