⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rec_sms.c

📁 基于H83664的手机模块TC35i短信收发系统 at_cmd01.c/LEDctrl.c/read_sms.c/rec_sms.c/send_sms.c/sms.c
💻 C
字号:
#include "init.h"
#include <string.h>
#define DL delay()
#define CLR_OVR SCI3.SSR.BIT.OER = 0

extern char recv[100];
extern int counter2;
extern int rindex;
extern char r_num[2];

void receive(void){
	DRXI;
	SET_LED;
	rindex = 0;
	clear_arr(r_num, 2, 0x00);

	if (counter2 != 16 && counter2 != 17) {
		alarm();
		ERXI;
		set_imask_ccr(0);
		CLR_LED;
		return;
	}
	else if (counter2 == 16){
		if (check("+CMTI: \"SM\",", recv, 3) != 0 )
			return;
		rindex = (int)recv[counter2 - 2] - '0';
		r_num[0] = recv[counter2 - 2];
		r_num[1] = 0x20;
	}
	else if (counter2 == 17){
		if (check("+CMTI: \"SM\",", recv, 4) != 0 )
			return;
		rindex = (int)recv[counter2 - 3] - '0';
		rindex = (int)recv[counter2 - 2] - '0' + rindex * 10;
		r_num[0] = recv[counter2 - 3];
		r_num[1] = recv[counter2 - 2];
	}
	LCDDisplay("New SMS Received",0,1);
	LCDDisplay(r_num, 2, 0);
	ERXI;
	set_imask_ccr(0);
	CLR_LED;
}

void answer(void){
	char cc[1];
	char *prr;
	DRXI;
	SET_LED;
	LCDDisplay("Ringing In...",0,1);
	keyboard(cc, 1);
	DL;
	CLR_OVR;	//Clear Overwrite Error
	if (RDRF != 0) *prr = RDR;
	if(cc[0] == 'A'){
		sat(recv);
		sc("a", recv, 1);
		se(recv);
		getr(recv);
		keyboard(cc,1);
	}
	CLR_OVR;
	sat(recv);
	sc("h", recv, 1);
	se(recv);
	getr(recv);

	ERXI;
	DL;
	CLR_LED;
	LCDDisplay("  Select Menu:  ", 0, 1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -