新手上路
- 积分
- 21
- 金钱
- 21
- 注册时间
- 2018-4-25
- 在线时间
- 3 小时
|
3金钱
AT+CTTS=0\n\r
这个指令是什么作用呢。网上查的是关闭语音,短信测试怎么有关闭语音什么关系,假设有关系我也找不到逻辑,要表达什么用意。求高人指点我的困惑,感谢感谢。
以下是部分例程,摘取自SIM800C短信部分:
//SIM800C读短信测试
void sim800c_sms_read_test(void)
{
u8 *p,*p1,*p2;
u8 timex=0;
u8 msgindex[3];
u8 msglen=0;
u8 msgmaxnum=0; //短信最大条数
u8 key=0;
u8 smsreadsta=0; //是否在短信显示状态
p=mymalloc(SRAMIN,200);//申请200个字节的内存
LCD_Clear(WHITE); //清屏函数,color:要清屏的填充色
POINT_COLOR=RED;
Show_Str_Mid(0,30,"ATK-SIM800C 读短信测试",16,240); //在指定宽度的中间显示字符串
Show_Str(30,50,200,16,"读取: 总信息:",16,0);
kbd_fn_tbl[0]="读取";
kbd_fn_tbl[1]="返回";
sim800c_load_keyboard(0,180,(u8**)kbd_tbl1);//显示键盘
while(1)
{
key=sim800c_get_keynum(0,180); //得到按键的值 key,0,没有任何按键按下;1~15,1~15号按键按下
if(key)
{
if(smsreadsta)
{
LCD_Fill(30,75,239,179,WHITE);//清除显示的短信内容
u3_printf("AT+CTTS=0\r\n");
smsreadsta=0;
}
if(key<10||key==11)
{
if(msglen<2)
{
msgindex[msglen++]=kbd_tbl[key-1][0];
u3_printf("AT+CLDTMF=2,\"%c\"\r\n",kbd_tbl[key-1][0]);
}
if(msglen==2)
{
key=(msgindex[0]-'0')*10+msgindex[1]-'0';
if(key>msgmaxnum)
{
msgindex[0]=msgmaxnum/10+'0';
msgindex[1]=msgmaxnum%10+'0';
}
}
}else
{
if(key==10||key==12) u3_printf("AT+CTTS=0\r\n");
if(key==13)
{
u3_printf("AT+CTTS=0\r\n");
if(msglen)msglen--;//删除
}
|
|