sim300c模块at命令分析通信系统设计(编辑修改稿)内容摘要:
n=0。 timesendflag=1。 } } } //采用定时扫描方式 reg_code = 1。 //先消隐显示 Font_code = Display_Buffer[bit_con]。 //送字形码 reg_code = S_Tab[bit_con]。 //送字位 bit_con++。 if(bit_con 7) { bit_con = 0。 } } void main() { uchar keyval。 bit Temp_Insert_Flag。 uchar tmp[2]。 uchar i=0。 InitTimer0()。 reg_code = 0xff。 //关闭显示 for(bit_con=0。 bit_con8。 bit_con++) Display_Buffer[bit_con] = Show_Tab[0]。 bit_con = 0。 timesendflag=0。 SerialIni()。 Sim300Ini()。 temperature=0。 Alarm_Temp = 0。 while(1) { keyval=keyscan()。 if(keyval==7) { Sim300Tx1()。 } if(keyval==6) { Sim300Tx2()。 } } } : include include include define uchar unsigned char define uint unsigned int define FOSC_12M//设置晶振 define Font_code P0 //字符码写地址 define reg_code P2 //字位码写地址 code uchar Show_Tab[]={ 0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0x88,/*A*/ 0x83,/*b*/ 0xC6,/*C*/ 0xA1,/*d*/ 0x86,/*E*/ 0x8E /*F*/ }。 code uchar S_Tab[8]={ 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f }。 uchar Display_Buffer[8]。 //显示缓冲区 uchar bit_con。 //字位码扫描计数器 //uchar code AT[]=AT。 //握手信号 //uchar code ATE[]=ATE。 //关回显 //uchar code AT_CNMI[]=AT+CNMI=2,1。 //设置这组参数来了新信息存在 SIM 卡 //uchar code AT_CSCA[]=AT+CSCA=\+8613800516500\。 //设置徐州移动服务中心号码 //uchar code AT_CSCA[]=AT+CSCA=\+8613010350500\。 //设置徐州联通服务中心号码 //uchar code AT_CMGF[]=AT+CMGF=1。 //设置短信的格式为 text 格式 //uchar code AT_CMGR[]=AT+CMGR=。 //读取短信指令 //uchar code AT_CMGS[]=AT+CMGS=。 //发送短信指令 //uchar code AT_CMGD[]=AT+CMGD=。 //发送短信指令 //char RxBuf[RxBuf_N]={0}。 //定义串口接收数据缓冲 区 //uchar RxPoint。 //Rx 缓冲区指针 uchar code PhoneNum1[15]=+8618652148476。 //手机号码 uchar code PhoneNum2[15]=+8618652147478。 uchar GsmRcv[10] = {0}。 uchar GsmRcvAt[10] = {0}。 uchar GsmRcvCnt = 0。 bit GsmAtFlag=0。 bit sendflag。 //0 代表发送成功 ; 1 代表发送失败 bit timesendflag。 //定时发送短信 , 10 分钟 uchar Sms_Text[] = luheng sb。 uchar temperature。 uchar Alarm_Temp。 //报警温度 //uchar sms_temp[]={20,30,40,50,60,70}。 //uint ms_con,sec_con。 /******************************************************************/ void delayus(unsigned char us)//delay us { while(us)。 } /******************************************************************/ void delayms(unsigned char ms)//delay Ms { while(ms) { delayus(250)。 delayus(250)。 } } /******************************************************************/ void DelaySec(unsigned char s) { while(s) { delayms(250)。 delayms(250)。 delayms(250)。 delayms(250)。 } } void SerialIni()//初始化程序 { TMOD|=0x20。 //定时器 1 操作模式 2:8位自动重载定时器 ifdef FOSC_12M // 在这里根据晶振大小设置不同的数值初始化串口 TH1=0xf3。 //装入初值,波特率 2400 TL1=0xf3。 else TH1=0xfd。 //装入初值,波特率 9600 TL1=0xfd。 endif //end of SOC_12M TR1=1。 //打开定时器 SM0=0。 //设置串行通讯工作模式,( 10为一部发送,波特 率可变,由定时器 1 的溢出率控制) SM1=1。 //(同上 )在此模式下,定时器溢出一次就发送一个位的数据 REN=1。 //串行接收允许位(要先设置sm0sm1 再开串行允许) EA=1。 //开总中断 ES=1。 //开串行口中断 } void UartSendASC(uchar d) { SBUF=d。 while(!TI)。 TI=0。 } void UartSendString(uchar *str) { while(*str) { UartSendASC(*str)。 str++。 } } void Serial_interrupt() interrupt 4 using 1 { uchar i = 0。 if(RI == 1) //收到信息 { RI=0。 //接收中断信号清零,表示将继续接收 GsmRcv[GsmRcvCnt] = SBUF。 // Uart1Send(tmp)。 GsmRcvCnt++。 //收到了完整的 AT 指令,完整的AT 指令是以 0x0a 0x0d 结尾的。 故作此判断,在接收的过程中是否收到 0x0a 0x0d if(GsmRcv[GsmRcvCnt2] == 0x0d amp。 amp。 GsmRcv[GsmRcvCnt1] == 0x0a amp。 amp。 GsmRcvCnt = 2) { //一旦收到 0x0a 0x0d,就将数据保存起来。 用户主函数的判断。 for(i=0。 iGsmRcvCnt。 i++) { GsmRcvAt[i] = GsmRcv[i]。 GsmRcv[i] = 0。 } GsmRcvCnt = 0。 GsmAtFlag = 1。 //收到了完整的 at 指令,通过这个标志位置 1,这样主函数就知道去判断了。 } else if(GsmRcvCnt = 10)//因为内存有限,收到了 50 个字符还是没有看到0x0a 0x0d 的话,就重新开始接收吧。 { GsmRcvCnt = 0。 } } } void Sim300Ini() { while(GsmAtFlag == 0) { UartSendString(ati\r)。 // 设置sim300 波特率 DelaySec(1)。 //延时 1 秒 } GsmAtFlag = 0。 while(1) { UartSendString(AT+COPS?\r)。 DelaySec(1)。 //延时 1 秒 while(GsmAtFlag == 0)。 //if(strstr(GsmRcvAt, CHINA MOBILE) )// 检测是否收到 CHINA MOBILE 服务商信息。 如果收到证明是连接上网络了 if(strstr(GsmRcvAt, OK) )//检测是否收到 CHINA UNICOM 服务商信息。 如果收到证明是连接上网 络了 { break。 } } UartSendString(AT+CMGF=1\r)。 // 设置使用 TEXT 格式发送短信,短信有两种格式,另外一种是 UDP DelaySec(1)。 //延时 3 秒 UartSendString(AT+CSCS=\GSM\\r)。 //使用 GSM DelaySec(1)。 //延时 3 秒 // UartSendString(AT+CSMP=17,167,0,250\r)。 //设备短信模式(手机自动保存模式,平时我们手机发送的是这类) UartSendString(AT+CSMP=17,167,0,240\r)。 //设备短信模式(手机非自动保存模式) DelaySec(1)。 //延时 3 秒 P1_2=0。 } void Sim300Tx1() { UartSendString(AT+CMGS=)。 //设置发送的号码,自己修改成像发送的号码 UartSendASC(39。 39。 )。 UartSendString(PhoneNum1)。 UartSendASC(39。 39。 )。 UartSendASC(39。 \r39。 )。 DelaySec(1)。 //延时 3 秒 UartSendString(Sms_Text)。 // 发送的内容。 DelaySec(1)。 UartSendASC(temperature/10+0x30)。 UartSendASC(temperature%10+0x30)。 UartSendString(\x1a\r)。 // 告诉模块内容发送完了。 GsmAtFlag = 0。 while(GsmAtFlag == 0)。 if(strstr(GsmRcvAt, ERROR) )//检测是否收到 +CME ERROR ,如果是这是发送失败,退出重新发送 { UartSendString(0x1b)。 //发送退出指令 sendflag=1。 } else if(strstr(GsmRcvAt, OK) )//检测是否收到 +CMGS ,如果收到,表明发送成功了。 等待一会重新发送 { sendflag=0。 } } void Sim300Tx2() { UartSendString(AT+CMGS=)。 //设置发送的号码,自己修改成像发送的号码 UartSendASC(39。 39。 )。 UartSend。sim300c模块at命令分析通信系统设计(编辑修改稿)
相关推荐
成的误差 目前,对于绝大多数快速成型系统而言,必须对工件的三维 CAD 模型进行 STL格式化和切片等处理,以便得到一系列的截面轮廓。 在对三维 CAD 模型分层切片前,需作实体模型的近似处理,即用三角面片近似逼近处理表面,其输出的数据为 STL文件格式,这种格式非 常简单,便于后续的分层处理。 STL 格式中每个三角面片只用四个数据项表示,即三个顶点坐标和一个法向矢量,而整个 CAD
失效;( 4)一次性投资大;烟气通过催化剂的阻力增大了窑系统的阻力;( 5)催化剂 主要为贵金属,且 每三年需要更换,运行成本高。 SNCR 法在欧洲水泥工业已应用 20 多年,效果较好。 根据 宁夏平罗恒达 水泥 有限责任公司 20xxt/d 熟料生产线的实际情况,本项目同时 采用低 NOx燃烧 器、分级燃烧法 和 SNCR 法相结合的脱 硝技术, 实现高脱 硝 效率和低运行成本的目标。
350 地层重复、增厚 深部煤系、重复、 增厚 隐伏断层 12 F45 正 120 50 35 25 20 ZK700 ZK7006钻孔深部揭露 200 地层重复、增厚 煤系顶部地层重 复、增厚 隐伏断层 10 序号 编 号 性质 产状( 176。 ) 断距( m) 分布位置与延伸情况 长度 ( m) 地表切割地层 断层表现特征 对煤系的影响 备注 倾向 倾角 水平 铅直 地层 13 F204
CADA control and data acquisition systems and programmable logic controller development, citing the Castle Peak typical station control system configuration, position and function of each system, and
执行。 三是内部寄存器组 OCR、 CID、 RCA 等。 四是存储数据的存储单元。 接口电路通过控制电路与内部寄存器组成存储单元交换数据,其主要操作有写命令、读数据、写数据、读状态等。 图 SD卡的外形与接口 图 SD卡的内部结构 桂林航天工业学院毕业设计(论文) 第 5 页 共 40 页 5 SD 卡的引脚定义 SD卡的引脚定义见表 表 SD卡引脚功能详述 引脚 编号 SD模式 SPI 模式
未来性 D 北京思博盈动科技有限公司 网址: 第 12 页 共 21 页 水质 —— 排水处理必须连同水处理圈套考虑。 使用实绩:现普及率很低,后续问题很多。 再生利用:仅单纯处理毫无再生利用。 维护管理:机械造价低,使用免维护费用。 使用效益:①、成本低,使用简单。 ②、现场就地即可处理。 负面缺点: ①、容易产生浓臭排水。 ②、如认真整套考虑,水处理很麻烦。 ③、眼前看问题很多,不胜列举。