Ejemplo n.º 1
0
int main(void)
//   Input    : -
//   Output   : -
//   Function : main function. Runs the init function and then loops


{
    //Initialization
    disable_global_int();
    SysTick_init();
    GPIO_init();
    swtimers_init();
    RTCS_init();

    UART0_init(19200, 8, 1, 0);
    enable_global_int();
    LCD_init();
    queue_init(&display_lcd_queue);
    queue_init(&uart0_rx_queue);
    numpad_init();

    open_queue(Q_LCD);
    open_queue(Q_INPUT);

    start_task( TASK_RTC, RTC_task);
    start_task( TASK_DISPLAY, display_task);
    start_task( TASK_LCD, LCD_task);
    start_task( TASK_NUMPAD, numpad_task);
    start_task( TASK_UI, ui_task);
    start_task( TASK_UART0, UART0_task);

    schedule();

    return (0);
}
Ejemplo n.º 2
0
void main (void)
{
	uint32_t time;

	SysCtlClockSet(SYSCTL_SYSDIV_5 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);
	timer0_ini();
	UART0_init();
	gpiob_ini();

	time = TimerValueGet(WTIMER0_BASE, TIMER_B);
	UARTprintf("%d ", time);
	TimerEnable(WTIMER0_BASE, TIMER_B);
	LCD12864_Delay(10);
	TimerDisable(WTIMER0_BASE, TIMER_B);
	time = TimerValueGet(WTIMER0_BASE, TIMER_B);
	UARTprintf("%d", time);

//	while(1);

	SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
	GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);

	while(1)
		GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, ui8PrevCount);
//		while(1);
}
Ejemplo n.º 3
0
 signed char TelitClass::Init(const char* PIN)
 {	 	 
	 
	 DDRD |= (1<<PD5);	 	 
	 PORTD |= (1<<PD5);
	 _delay_ms(300);	 
	 PORTD &= ~(1<<PD5);
	 _delay_ms(5000);
	 UART0_init();
	 Telit.WriteStr_P(PSTR("AT\r\n"));
	 _delay_ms(100);
	 Telit.WriteStr_P(PSTR("ATE0\r\n"));
	 _delay_ms(100);
	 Telit.WriteStr_P(PSTR("AT#SELINT=2\r\n"));
	 _delay_ms(100);	 
	 Telit.WriteStr_P(PSTR("AT+IPR=38400\r\n"));
	 _delay_ms(100);
	 Telit.WriteStr_P(PSTR("AT\\Q0\r\n"));
	 _delay_ms(100);
	Telit.WriteStr_P(PSTR("AT&K0\r\n"));
	_delay_ms(100);	
	 Telit.WriteStr_P(PSTR("AT+IFC= 0,0\r\n"));
	 _delay_ms(100);
	 Telit.WriteStr_P(PSTR("AT+ICF= 3\r\n"));
	 _delay_ms(100);
	 Telit.WriteStr_P(PSTR("AT+CMEE=2\r\n"));
	 _delay_ms(100);	 
	 //	searchFor = (const char*)pgm_read_word(&searchStrings[1]);
	 //	 Telit.WriteStr_P(searchFor);
	 sei();
	 	 	 
	 while (SendCmdWaitResp(PSTR("AT"),OK, pause64) < 0);
	 
	 if (SendCmdWaitResp(PSTR("AT+CPIN?"),PSTR("+CPIN: "), pause256)) 
	 {
		 //Пришел ответ "+CPIN:"
		 if (WaitResp(OK, pause64)) 
		 {
			 // Пришел OK
			 if (strstr_P((char*)rx_buffer, PSTR("SIM PIN")))
			 {
				 // Вводим PIN код
				 Telit.WriteStr_P(PSTR("AT+CPIN=\""));
				 Telit.WriteStr_P(PIN);				 
				 if ( SendCmdWaitResp(PSTR("\""),OK, pause256) < 0) return -3; // PIN код не верен			 
			 }
			else if (!strstr_P((char*)rx_buffer, PSTR("READY")))
			{
				return -3;		 				 								
			}
		 }
		 else return -3;		 		 
	 }else return -2;	 
	 //
	/*
		Ждем регистрации в сети
	*/												
	unsigned char Attempts=0;
	while (CheckStatus() < 0) 
	{
		if (Attempts++ > 16) 
		{
			return -1;
		}
	}
	
	/*
	Инициализируем текстовый режим СМС
	*/
	if (SendCmdWaitResp(PSTR("AT+CSCA?"), OK, pause256) < 0) return -2;
	if (SendCmdWaitResp(PSTR("AT+CMGF=1"), OK, pause64) < 0) return -2;
					
	 return 1;
 }