sim800c调试通过

**********************************************************************************
* 工程名  :
* 描述    :通过手机控制LED
* 实验平台:STC12XX
* QQ:184164353
*    : ***********************************************************************************/
#include "string.h"
#include "delay.h"
无纺布折叠机
#include "uart.h"
#define Buf2_Max 200                      //串口2缓存长度
/*************    本地常量声明    **************/
sbit RUNING_LED = P2^1;                    //运行指示灯
大聚合/*************  本地变量声明    **************/
xdata u8 Uart2_Buf[Buf2_Max];
u8 Times=0,First_Int = 0,shijian=0;
//u8 Time_count=0;
bdata u8 Flag;//定时器标志位
sbit Timer0_start =Flag^0;    //定时器0延时启动计数器
static unsigned char *phone = "ATD10086;\r\n"; //,修改这里可以修改拨打的电话。
/*************    本地函数声明    **************/
void GPIO_config(void);
保护层垫块void Timer0Init(void);
void CLR_Buf2(void);
void Wait_CREG(void);
/*************  外部函数和变量声明*****************/
/*******************************************************************************
* 函数名 : main
* 描述  : 主函数
* 输入  :
* 输出  :
* 返回  :
录播服务
* 注意  : 串口2负责与GPRS模块通信,串口1用于下载程序或串口调试,可以避免在下载程序时数据
                    还发送到模块
*******************************************************************************/
void main(void)
{
    GPIO_config();
    Uart2Init();
    Timer0Init();
    EA=1;    //开总中断
    Wait_CREG();  //查询模块是否注册成功
  UART2_SendString(phone);  //
    while(1)
    {
        ;
    }
   
}
/*******************************************************************************
* 函数名 : Uart1
* 描述  : 串口1中断服务入口函数
* 输入  :
* 输出  :
* 返回  :
* 注意  :
*******************************************************************************/
void Uart1() interrupt 4
{
    if (RI)
    {
        RI = 0;                //清除RI位
    }
    if (TI)
    {
        TI = 0;                //清除TI位
    }
}
/*******************************************************************************
* 函数名 : Uart2
* 描述  : 串口2中断服务入口函数
* 输入  :
* 输出  :
* 返回  :
* 注意  :
*******************************************************************************/
void Uart2() interrupt 8
{
        IE2  &= ~0x01;  //关闭串口2中断
    if (S2CON & S2RI)
    {
      S2CON &= ~S2RI;        //清除S2RI位
            Uart2_Buf[First_Int] = S2BUF;        //将接收到的字符串存到缓存中
            First_Int++;                            //缓存指针向后移动
            if(First_Int > Buf2_Max)              //如果缓存满,将缓存指针指向缓存的首地址
            {
                First_Int = 0;
            }
    }
    if (S2CON & S2TI)
    {
      S2CON &= ~S2TI;        //清除S2TI位
    }
        IE2  |= 0x01;  //使能串口2中断
}
/*******************************************************************************
* 函数名 : Timer0_ISR
* 描述  : 定时器0中断服务入口函数,20ms中断一次
刻字笔* 输入  :
* 输出  :
* 返回  :
* 注意  :
*******************************************************************************/
void Timer0_ISR() interrupt 1
{
    static u8 Time_count=0;
    TR0=0;//关定时器
    Time_count++;
    if(Time_count>=50)
    {
        Time_count = 0;
        RUNING_LED =~RUNING_LED;
    }
    TR0=1;//开定时器
}
/*******************************************************************************
* 函数名 : GPIO_config
* 描述  : IO口配置函数
* 输入  :
* 输出  :
* 返回  :
* 注意  :
*******************************************************************************/
void    GPIO_config(void)
{
        P3M1 &= 0XC3;  //配置P32~P35为推挽输出
        P3M0 |=    ~0XC3;
        RUNING_LED=0;
}
void Timer0Init(void)        //20毫秒@22.1184MHz
{
    AUXR &= 0x7F;    //12T模式
    TMOD &= 0xF0;    //设置定时器模式 16位重载
    TL0 = 0x00;        //设定定时器初值
    TH0 = 0x70;        //设定定时器初值
    TF0 = 0;            //清除TF0标志
    TR0 = 1;            //定时器0开始计时
    ET0 = 1;        //使能定时器0中断
}
/*******************************************************************************
* 函数名 : CLR_Buf2
* 描述  : 清除串口2缓存数据
* 输入  :
* 输出  :
* 返回  :
* 注意  :
*******************************************************************************/
>珠片绣

本文发布于:2024-09-22 23:25:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/126288.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:串口   缓存   中断   函数   服务   入口
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议