亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2875|回復: 0
收起左側

之前寫了一個智能家居下gsm模塊的程序

[復制鏈接]
ID:161481 發表于 2017-1-12 16:35 | 顯示全部樓層 |閱讀模式
之前寫了一個智能家居下gsm模塊的程序,可以根據按鍵輸入的密碼來判斷是否可以進行修改報警號碼,并向對應的手機號碼發送報警信息,不過得注意需要插入sim卡。程序附錄如下:
#include "gsm.h"
#include "common.h"
#include "serial.h"
#include "string.h"
#include "delay.h"
#include <stdio.h>
#include <stdlib.h>
#include "key.h"
#include "24c02.h"
#include "lcd1602.h"

#if 0
/* 發送AT指令 */
int gsm_send_command(uchar *command, uchar *response, uchar waittime)
{
    int xdata res = 0;
    uart_send_str(command);
        if(response && waittime)                //需要等待應答
        {
                while(--waittime)        //等待倒計時
                {
                        delay_ms(10);
                        if(RI)//接收到期待的應答結果
                        {
                                if(is_gsm_get_response(response)) break;//得到有效數據
                                RI = 0;
                        }
                }
                if(waittime == 0) res = 1;
        }
        return res;
}

/*
*是否得到想要的回應
* return 0 : 響應正確
* return -1:  沒得到正確的響應
*/
uchar* is_gsm_get_response(uchar *response)
{

    uchar xdata resp[20];
        uchar *strx = 0;
        int xdata len = 0;
        int xdata i;
    uart_receive_str(resp); //讀取響應
    strx = strstr((const char*)resp, (const char*)response);
        return strx;

}

int gsm_send_sms(uchar *phone_number, uchar *sms_message)
{
    const uchar xdata message[] = "Someone in your home,please check.";
        int xdata res;
        char xdata *p1;
    p1 = malloc(sizeof(char)*4);

        res = gsm_send_command("AT+CMGF=1\r\n", "OK",200);                //設置文本模式

        res =gsm_send_command("AT+CSCS=\"GSM\"\r\n","OK",200);        //設置TE字符集為GSM

        res = gsm_send_command( "AT+CSMP=17,0,2,25\r\n", "OK",200);         //設置短消息文本模式參數

        res = gsm_send_command("AT+CMGS=\"18819467282\"\r\n", ">", 300);
        delay_ms(10);
        uart_send_str(message);
        delay_ms(10);

        sprintf(p1,"%c",0x1a);
        return 0;
}
#endif

void gsm_call(void)
{
     uchar phone_num[12];
         uchar all[24] = "ATD";
         uchar one[] = ";\r\n";         
         iic_read_password_phone(phone_num, 1); //讀出電話號碼         
         strcat(all, phone_num);
         strcat(all, one);
     uart_send_str(all);
}

void change_phone_number(uchar *password)
{
    uchar xdata pass_set_suceess[16] = "phone number set";
        uchar xdata new_phone[16] = "New phone number";
        uint i;
        int flag = -1;

        if(check_password(password, 0, 1) == 0) //密碼正確
        {
          flag = password_display(password, new_phone, 16);
          if(flag == 0)
          {
          iic_write_password_phone(password, 1);         //寫入新號碼
          delay_ms(10);
          
          lcd1602_init(0x0c);
          write_1602com(FIRST_LINE);
          for(i = 0; i < 16; i++)
          write_1602dat(pass_set_suceess[i]);
          delay_ms(2000);
          lcd1602_init(0x0c);
          }
          else
          lcd1602_init(0x0c);
        }       
}


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表