CODE giao tiếp SIM900 và nRF24L01, Gửi tin nhắn SMS và đọc tin nhắn SMS, Lưu số điện thoại vào bộ nhớ Flash. Giao tiếp nRF24L01 nhận cảnh báo GAS, KHÓI,TRỘM.Gửi tin nhắn cảnh báo.Điều khiển thiết bị qua tin nhắn SMS.
#include "msp430f2274.h" #include "uart.c" #include "LCD.c" void main( ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; uart_init(); init_port(); // thiet lap IO init_NRF24L01(); // khoi tao nRF24L01 start_SIM900(); // khoi dong SIM900 khoitaosim900(); // thiet lap cau hinh SIM900 readFlashmemory(); init_lcd(); _P4_OUT->_BIT.b0=0; _P4_OUT->_BIT.b1=0; enable_interrupt(); while(1) { if(SDT[0]=='ÿ') { // doc so dien thoai cua nguoi dung tu Flash memory sdtdefaut(); //sdt mac dinh PAS[0]='a'; PAS[1]='b'; // password mac dinh PAS[2]='c'; PAS[3]=0; } else if(SDT[0]!=0); hienthi_sdt(); if(uart==0) { doctin(buffer2,buffer1); b1=0;b2=0; if(status==1) { //deletesms(); kiemtra(); delay_cycles(100000); sendsta(DT,sta_gas,sta_trom,sta_khoi); trangthai_module(); sta_gas[0]='O'; sta_gas[1]='F'; sta_gas[2]='F'; sta_trom[0]='O'; sta_trom[1]='F'; sta_trom[2]='F'; sta_khoi[0]='O'; sta_khoi[1]='F'; sta_khoi[2]='F'; status=0; } else if(status==2) { if(t==1) { _P4_OUT->_BIT.b0=1;status=0;sendsms(DT,"bat Thiet Bi cong "); } else if(t==0) {_P4_OUT->_BIT.b0=0;status=0;sendsms(DT,"tat Thiet Bi cong "); } } else if(status==3) { if(k==1) { _P4_OUT->_BIT.b1=1;status=0;sendsms(DT,"bat Thiet Bi cong ");} else if(k==0) {_P4_OUT->_BIT.b1=0;status=0;sendsms(DT,"tat Thiet Bi cong ");} } else if(status==4) { Flashmemory(); delay_cycles(300000); sendsdt(DT,SDT,SDT1,SDT2); delay_cycles(300000); status=0; } else if(status==5) { docstatus_tb(); status=0; trangthai_tb(); sendsta_tb(DT,tb1,tb2); } uart=1; } // THONG bao sdt dang duoc cai dat cambien(); if(trom==1) // kiem tra cam bien chuyen dong {if(st==1) {sendthongbao("Co trom dot nhap.");} else if(st==0) {speaker=1; delay_cycles(3000000);speaker=0;} trom=0; } if(GAS==1) // kiem tra cam bien GAS {if(st==1) {sendthongbao("Ro ri GAS.");} else if(st==0) {speaker=1; delay_cycles(3000000);speaker=0;} GAS=0; } if(khoi==1) // kiem tra cam bien khoi {if(st==1) {sendthongbao("co khoi nha.");} else if(st==0) {speaker=1; delay_cycles(3000000);speaker=0;} khoi=0; } else if(khoi==2) {sendthongbao("Module Khoi het Pin");khoi=0; ClearLcmScreen(); LCDmove(0,0); PrintStr("Module Khoi het pin"); delay_cycles(1000000);} } } //====NGAT NHAN UART============================================================ #pragma vector=USCIAB0RX_VECTOR interrupt void USCI0RX_ISR(void) { if (chuyen==1) { if((UCA0RXBUF=='\n'))//||UCA0RXBUF=='\r')) { uart=0; b1=j; buffer1[j]=0; j=0; chuyen=2; } else { buffer1[j]=UCA0RXBUF; j=j+1; } } else if(chuyen==2) { if((UCA0RXBUF=='\n'))//||UCA0RXBUF=='\r')) { b2=j; uart=0; buffer2[j]=0; j=0; chuyen=1; } else { buffer2[j]=UCA0RXBUF; j=j+1; } } }