int main() { printf("System Restarted!!!\n"); //unsigned char mydata[8]; //strcpy(fifo,"######"); Uart_init();//Register RS232_RXD wifi_init();//initialize the wifi module while(1) { //led_init(); test_key(); test_alarm(); test_alarm_en(); welcome(); Alarm(); //printf("%X\n",ringbell); //printf("%x",IORD_ALTERA_AVALON_PIO_DATA(MYINPUT_BASE)); Uart_send_n("AT",2); Uart_send(0x0d); Uart_send(0x0a); usleep(2000000);//2s } return 0; }
void Alarm() { char message[24]; if(alarm == 0x01&& alarm_en == 0x01) { Uart_send_n("AT+CIPSEND=0,24",15); Uart_send(0x0d); Uart_send(0x0a); usleep(1000000); strcpy(message,"Someone Has Broken In!!!"); Uart_send_n(message,24); Uart_send(0x0d); Uart_send(0x0a); puts("f**k!!\n"); IOWR_ALTERA_AVALON_PIO_DATA(LEDMODE_BASE,0x03); } else { unsigned int status = IORD_ALTERA_AVALON_PIO_DATA(LEDMODE_BASE); IOWR_ALTERA_AVALON_PIO_DATA(LEDMODE_BASE, status&0x01); puts("nothing!\n"); } }
void Uart_send_msg(char *msg) { while(*msg) { Uart_send(*msg++); } }
interrupt void cpu_timer0_isr(void) { // stop timer CpuTimer0.RegsAddr->TCR.bit.TSS = 1; // запрещаем прерывания на время обработки и передачи DINT; if (UartRxLen > 0) { Uint16 len = modbus_func(UartBuffer, UartRxLen, 2); Uint16 i = 0; //TODO: изменить на прерывание for (i = 0; i < len; i++) { Uart_send(UartBuffer[i]); } UartRxLen = 0; } // разрешаем прерывания EINT; // start timer CpuTimer0.RegsAddr->TCR.bit.TSS = 0; // Acknowledge this interrupt to receive more interrupts from group 1 PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; }
void Uart_send_n(unsigned char *ptr,unsigned char n)//send rx232 { for(;n>0;n--) { Uart_send(*ptr); ptr++; } }
void welcome()//led welcum { char message[22]; if(ringbell == 0x01) { Uart_send_n("AT+CIPSEND=0,21",15); Uart_send(0x0d); Uart_send(0x0a); usleep(1000000); strcpy(message,"You'v Got A Visitor!!"); Uart_send_n(message,21); Uart_send(0x0d); Uart_send(0x0a); IOWR_ALTERA_AVALON_PIO_DATA(LEDMODE_BASE, 0x03); } else { unsigned int status = IORD_ALTERA_AVALON_PIO_DATA(LEDMODE_BASE); IOWR_ALTERA_AVALON_PIO_DATA(LEDMODE_BASE, status&0x02); } }
void wifi_init() { usleep(3000000);//3s Uart_send_n("AT+RST",6); Uart_send(0x0d); Uart_send(0x0a); usleep(1000000);//1000ms Uart_send_n("AT+CIPMUX=1",11); Uart_send(0x0d); Uart_send(0x0a); usleep(200000);//200ms Uart_send_n("AT+CIPSERVER=1",14); Uart_send(0x0d); Uart_send(0x0a); usleep(200000);//200ms }