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

📄 sms.c

📁 基于H83664的手机模块TC35i短信收发系统 at_cmd01.c/LEDctrl.c/read_sms.c/rec_sms.c/send_sms.c/sms.c
💻 C
字号:
/***********************************************************************/
/*                                                                     */
/*  FILE        :sms.c                                                 */
/*  DATE        :Thu, Jun 29, 2006                                     */
/*  DESCRIPTION :Main Program                                          */
/*  CPU TYPE    :H8/3664                                               */
/*                                                                     */
/*  This file is generated by Renesas Project Generator (Ver.3.1).     */
/*                                                                     */
/***********************************************************************/
                  


#ifdef __cplusplus
extern "C" {
#endif
void alarm(void);
#ifdef __cplusplus
}
#endif

#include "init.h"
#define	DL	delay()
#define DLL	delay_key(600000)

/***********************Variables Definition**********/
char recv[100];
int counter, counter2;
int rindex, s_len, LCDk;
char phone_num[11];
char cont[20], rcont[20];
char r_num[2], w_num[2];
unsigned char LcdStr[32];
char menu[] = "0";
/*****************************************************/

void init_MCU(void);
void alarm(void);

void main(void)
{
	init_MCU();
	init_TC35i(recv);

	while (1){
		ERXI;
		CLR_LED;
		clear_arr(LcdStr, 32, 0x20);
		LCDDisplay("  Select Menu:  ", 0, 1);

		keyboard(menu, 1);

		SET_LED;
		DRXI;

		switch ( menu[0] ){
			case '1':			//Make a phone call
				DLL;
				LCDDisplay(" Input Number:  ", 0, 1);
				keyboard(phone_num, 11);
				LCDDisplay("   Calling...   ", 0, 1);
				LCDDisplay(phone_num, 11, 0);
				call(phone_num, recv);
				break;

			case '2':			//Send a message
				DLL;
				LCDDisplay(" Input Number:  ", 0, 1);
				keyboard(phone_num, 11);
				send_sms(phone_num, "test", recv);
				break;

			case '3':			//Write a message to the storage
				DLL;
				clear_arr(cont, 20, 0x00);
				LCDDisplay("   Write SMS:   ",0,1);
				keyboard(cont, 16);
				s_len = wr_sms(cont,recv,w_num);
				LCDDisplay("New SMS Index:",0,1);
				LCDDisplay(w_num,2);
				break;

			case '4':			//Send a message from the storage
				DLL;
				LCDDisplay("Input SMS Index:",0,1);
				keyboard(w_num, 2);
				DLL;
				LCDDisplay(" Input Number:  ",0,1);
				keyboard(phone_num, 11);
				send_ssms(w_num, phone_num, recv);
				break;

			case '5':			//Read a message
				DLL;
				LCDDisplay("Input SMS Index:",0,1);
				keyboard(r_num, 2);
				s_len = reads(r_num);
				if (s_len == -1) alarm();
				else {
					abstr(recv, rcont, s_len);
					LCDDisplay(rcont,0,1);
				}
				break;

			case '0': 
				DLL;
				break;
			default: 
				menu[0] = '0';
				alarm();
		}
	}
				
}

void init_MCU(void){
	set_imask_ccr(1);		//Disable Extern Interrupt
	SCI3.SMR.BYTE = 0x00;
	SCI3.BRR = 51;			//Set Boderate
	IO.PMR1.BIT.TXD = 1;
	IO.PCR7 = 0xFF;
//	CLR_LED;
	SCI3.SCR3.BYTE = 0x30;	//Allow Transmitt
	set_imask_ccr(0);		//Enable Extern Interrupt
}

void alarm(void)
{
	int i;
	unsigned long int j;
	for (i = 0; i <= 5; i++){
		SET_LED;
		for (j = 0; j <= 100000; j++){;}
		CLR_LED;
		for (j = 0; j <= 100000; j++){;}
	}
}

⌨️ 快捷键说明

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