Thông báo
Collapse
No announcement yet.
cần giúp gởi tin nhắn với module sim300cz
Collapse
X
-
các bác nào ra tay giúp em sơ đồ nguyên lý với, em đang tìm hiểu về đề tài này mà không biết làm sao.
-
vdk và modun GSM có cùng mức điện áp theo chuẩn TTL nên được nối với nhau ko cần qua thiết bị convert. vdk và modun GSM giao tiếp qua 1 cổng UART, nối chéo nhau giữa 2 chân TXD và RXD của vdk và modun gsm.
Leave a comment:
-
Nguyên văn bởi plmobile Xem bài viếtsimcard là smartcard theo chuẩn chân iso7816
truyền nhận rs232 thì theo chuẩn phoenix =>serial reader, các hãng hay dùng chuẩn smartcard reader
search google từ khóa sim protocol thì có nhiều nữa
Leave a comment:
-
Nguyên văn bởi gauden Xem bài viết[i]=m;
}
#int_rda
void ngat_modun(){
ngat();
}
void main(){
i=0;
lcd_init();
enable_interrupts(GLOBAL);
enable_interrupts(int_rda);
while (true){
printf(lcd_putc,"%d",i);
}
}
Leave a comment:
-
simcard là smartcard theo chuẩn chân iso7816
truyền nhận rs232 thì theo chuẩn phoenix =>serial reader, các hãng hay dùng chuẩn smartcard reader
search google từ khóa sim protocol thì có nhiều nữa
Leave a comment:
-
Nguyên văn bởi gauden Xem bài viếtđang tập viết tin nhắn điều khiển thiết bị,việc đầu tiên mình muốn đếm độ dài của một tin nhắn gửi đến để sau đó lấy được tin nhắn về và xử lí nó.nhưng không hiểu sao mỗi lần gửi tin nhắn thì lại nhận được số lần ngắt(số kí tự trả về từ modunsim) lại khác nhau.tất nhiên là cùng một tin nhắn như nhau.ai đã gặp rồi xin giải thích giúp mình với,code đơn giản của mình như sau:
#include <18F4431.h>
#include <def_877a.h>
#FUSES HS,NOWDT,NOPROTECT,NOLVP
#use DELAY (clock=20000000)
#use rs232(stream=rs232A, baud=9600, xmit=PIN_c0,rcv=PIN_c1)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
#include <stdio.h>
#include <string.h>
#include <stdlibm.h>
#include <stdlib.h>
#include <LCD1.c>
int i,m;
ngat(){
delay_ms(1);
m=getc();
i++; //nếu có kí tự gửi đến từ modunsim thì tăng biến
str[i]=m;
}
#int_rda
void ngat_modun(){
ngat();
}
void main(){
i=0;
lcd_init();
enable_interrupts(GLOBAL);
enable_interrupts(int_rda);
while (true){
printf(lcd_putc,"%d",i);
}
}
Leave a comment:
-
đang tập viết tin nhắn điều khiển thiết bị,việc đầu tiên mình muốn đếm độ dài của một tin nhắn gửi đến để sau đó lấy được tin nhắn về và xử lí nó.nhưng không hiểu sao mỗi lần gửi tin nhắn thì lại nhận được số lần ngắt(số kí tự trả về từ modunsim) lại khác nhau.tất nhiên là cùng một tin nhắn như nhau.ai đã gặp rồi xin giải thích giúp mình với,code đơn giản của mình như sau:
#include <18F4431.h>
#include <def_877a.h>
#FUSES HS,NOWDT,NOPROTECT,NOLVP
#use DELAY (clock=20000000)
#use rs232(stream=rs232A, baud=9600, xmit=PIN_c0,rcv=PIN_c1)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
#include <stdio.h>
#include <string.h>
#include <stdlibm.h>
#include <stdlib.h>
#include <LCD1.c>
int i,m;
ngat(){
delay_ms(1);
m=getc();
i++; //nếu có kí tự gửi đến từ modunsim thì tăng biến
str[i]=m;
}
#int_rda
void ngat_modun(){
ngat();
}
void main(){
i=0;
lcd_init();
enable_interrupts(GLOBAL);
enable_interrupts(int_rda);
while (true){
printf(lcd_putc,"%d",i);
}
}
Leave a comment:
-
Em cũng đang làm đề tài này, cũng test sim qua hyper gửi sms va call đều ok.Nhưng kết nối sim 300 và pic xong ,nạp code xong, gửi tin nhắn sms thì không thấy phản hồi lại,không biết code này có đúng hông xin anh chị giúp đỡ e ạ.E cám ơn nhiều .Đây là source code của em,dùng trình dich ccsc.
#include <18f26K20.h> // chuong trinh su dung cho vi dieu khien Pic18f26k20
#device icd=true // tao ma tuong thich debug phan cung Microchip
#DEVICE ADC=10 // su dung ADC 10 bit
#fuses HS,NOWDT,NOPROTECT,NOLVP // khai bao cac thiet dat cho Pic
#use delay(clock=11059000) // su dung OSC=11,059 Mhz
#include <stdio.h>
#include <string.h>
#include <stdlibm.h>
#include <stdlib.h>
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7,stream=SENSOR)
// baud= 9600, chan truyen C6, chan nhan C7
//************************************************** ******************************
//khai bao thanh ghi
#BYTE PORTA =0xf80
#BYTE PORTB =0xf81
#BYTE PORTC =0xf82
#BYTE ANSELH = 0xF7F
#BYTE ANSEL = 0xF7E
#BYTE TRISA = 0xF92
#BYTE TRISB = 0xF93
#BYTE ADCON2 = 0xFC0
#BYTE ADCON1 = 0xFC1
#BYTE ADCON0 = 0xFC2
#BYTE INTCON = 0xFF2
#BYTE INTCON2 = 0xFF1
#BYTE INTCON3 = 0xFF0
#BYTE T0CON = 0xFD5
#BYTE TMR0L = 0xFD6
#BYTE TMR0H = 0xFD7
#BYTE PIR1 = 0x0F9E
#BYTE PIE1 = 0x0F9D
#BYTE T1CON = 0x0FCD
#BYTE T1GCON = 0x0F9A
#BYTE TCLKCON = 0x0F52
//************************************************** ******************************
#bit INTCON_GIEH = INTCON.7
#bit INTCON_GIEL = INTCON.6
#bit INTCON_TMR0IE = INTCON.5
#bit INTCON_TMR0IF = INTCON.2
#bit INTCON2_TMR0IP = INTCON2.2
#bit INTCON_INT0IE = INTCON.4
#bit INTCON_INT0IF = INTCON.1
#bit INTCON2_INTEDG0 = INTCON2.6
#bit INTCON2_INTEDG1 = INTCON2.5
#bit INTCON3_INT1IE = INTCON3.3
#bit INTCON3_INT1IF = INTCON3.0
#bit TRISAbits_TRISA0 = TRISA.0
#bit TRISAbits_TRISA1 = TRISA.1
#bit TRISAbits_TRISA2 = TRISA.2
#bit TRISAbits_TRISA3 = TRISA.3
#bit TRISAbits_TRISA4 = TRISA.4
#bit TRISBbits_TRISB1 = TRISB.1
#bit TRISBbits_TRISB0 = TRISB.0
//************************************************** ******************************
//khai bao bien
#bit I_CD = PORTB.2
#bit O_TN = PORTC.0
#bit O_LOA = PORTC.1
#bit O_RUN = PORTC.2
//************************************************** ******************************
#define BUFFER_SIZE 500
BYTE buffer[BUFFER_SIZE];
unsigned char temp_array[500];
unsigned int16 next_in = 0;
unsigned int16 next_out = 0;
unsigned int16 count =0;
unsigned char temp_sdt[200];
unsigned char MKmacdinh[9] = "ADA",MK_tam[8],MSGmacdinh[102]="";
int proba,k,dem_ND=0,skipline=2,status=0,count_mk=0,co unt_temp=0;
unsigned char conf_MSG[]="MSG:",temp_MSG[102];
unsigned char conf_PW[]="PW:",temp_MK[9],temp_PT[9];
unsigned char conf_GETPW[15]="GET PASSWORD",conf_CONF[]="CONF:",PTOFF[]="OFF",PTON[]="ON",conf_PT[]="PT:";
unsigned char conf_NHD[]="ND:",temp_NHD[3],NHDmacdinh_txt[3];
unsigned char READY[]="READY",NETW[]="+CREG: 0,1";
int NHDmacdinh_int=45;
int save_pw,save_phone,save_msg,save_n=0,save_nhd=0,ic ount=0,inhietdo=0,check_sim=0,check_nw=0,check_crd =0;
int itinnhan=0;
int ichuyendong=0,ichuyendong1=0;
int icua = 0,icua1=0;
int inuoc = 0,inuoc1 = 0;
int ikhoi = 0,ikhoi1=0;
int inc = 0,inc1=0;
int itimer0=0;
int DONG=0,MO=0,PT_MO=0,PT_DONG=0;
float tbnd=0,value=0;
unsigned int doc =176,chao=0,count_dong=0,count_mo=0,count_cd=0,cou nt_khoi=0,count_nuoc=0;
int time_out=0,check_NC=0,check_CD=0,check_KHOI=0,chec k_NUOC=0,check_ND=0,alarm=0;
long icheck_NC=0,icheck_CD=0,icheck_KHOI=0,icheck_NUOC= 0,icheck_ND=0;
//ham khai bao thoi gian timer0
//bat timer0
void en_timer0()
{
INTCON_TMR0IE = 1;
INTCON_TMR0IF = 0;
}
//tat timer0
void dis_timer0()
{
INTCON_TMR0IE = 0;
INTCON_TMR0IF = 0;
//INTCON2_TMR0IP = 1;
}
//************************************************** ******************
//khoi tao timer0
void init_timer0()
{
T0CON = 0b11000111;
TMR0L = 0;
TMR0H = 0;
}
void en_cuadong()
{
INTCON_GIEH = 1;
INTCON_GIEL = 1;
INTCON3_INT1IE = 1;
INTCON3_INT1IF = 0;
INTCON2_INTEDG1 = 0;//dong:0-->1
}
void en_cuamo()
{
INTCON_GIEH = 1;
INTCON_GIEL = 1;
INTCON3_INT1IE = 1;
INTCON3_INT1IF = 0;
INTCON2_INTEDG1 = 1;//mo:1-->0
}
void dis_cuadong()
{
INTCON_GIEH = 1;
INTCON_GIEL = 1;
INTCON3_INT1IE = 0;
INTCON3_INT1IF = 0;
INTCON2_INTEDG1 = 0;
}
int instr(unsigned char *chuoi,unsigned char *chuoi_ss)
{
int i,j,n=0,h=0;
int dem,dem_ss;
dem = strlen(chuoi);
dem_ss = strlen(chuoi_ss);
}
//************************************************** ******************
struct quanliso
{
unsigned char dt[12];
}; struct quanliso so[11];
struct quanlind
{
float nd;
}; struct quanlind ql[11];
//************************************************** ******************
//************************************************** ******************
//************************************************** ******************
///////////////////////////////////////
//ham ngat tin nhan
#int_ext
void ngat_tinnhan()
{
itinnhan=1;
}
//************************************************** ******************
//ham ngat nhan tu UART
#int_rda
void serial_isr()
{
buffer[next_in]=getc();
if(next_in==next_out)
next_in=0; // Buffer full !!
}
///////////////////////////////////
//ham ngat timer0
#INT_timer0
void ngat_timer0()
{
itimer0++;
// Kiem tra Chuyen dong
if(itimer0==1)
{
if(ichuyendong==0)
{
if(input(PIN_B2)==1)
{
ichuyendong=1;
}
}
}
init_timer0();
INTCON_TMR0IF = 0;
}
//************************************************** ******************
//TIM VI TRI
int position(unsigned char *chuoi,unsigned char *chuoi_ss)
{
int hi,hj,hn=0,hh=0;
int hdem,hdem_ss;
hdem = strlen(chuoi);
hdem_ss = strlen(chuoi_ss);
for(hi=0;hi<hdem;hi++)
{
if(*(chuoi + hi) == *(chuoi_ss))
{
for(hj = hi;hj<hdem_ss+hi;hj++)
{
if(hn==hdem_ss) {return hi;};
}
}
}
return 0;
}
//XOA BO DEM
void erase_buffer()
{
unsigned int16 i;
for(i=0;i<BUFFER_SIZE;i++)
buffer[i]=0;
next_in=0;
next_out=0;
count=0;
}
//CAU HINH GSM
void gsm_config()
{ int i;
delay_ms(4000);
printf("AT\n\r");
delay_ms(500);
printf("AT\n\r");
delay_ms(500);
printf("AT\n\r");
delay_ms(500);
printf("AT\n\r");
delay_ms(500);
printf("AT+CMGF=1\n\r");
delay_ms(500);
printf("AT+CMGF=1\n\r");
delay_ms(500);
printf("AT&W\n\r");
// printf("ATE0\n\r");
delay_ms(1500);
erase_buffer();
}
//************************************************** ******************
//************************************************** ******************
//************************************************** ******************
void main()
{ //khoi tao cac bien dem cuc bo
int8 i=0,n=0,count_dauphay=0,count2_2cham=0,mposition=0 ;
int8 dem;
//khoi tao ngat
enable_interrupts(int_rda);
#if defined(__PCD__)
enable_interrupts(intr_global);
#else
enable_interrupts(global);
#endif
//************************************************** ******************
O_TN = 0;
O_RUN = 0;
O_LOA = 0;
set_tris_b(0b00001111);//nhan xung vao INPUT
set_tris_c(0b10000000);
TRISAbits_TRISA2 = 0; // OUTPUT PORTA.2
TRISAbits_TRISA3 = 0; // OUTPUT PORTA.3
TRISAbits_TRISA4 = 0; // OUTPUT PORTA.3
O_TN = 0;
O_RUN = 0;
O_LOA = 0;
delay_ms(1000);
do{
O_TN=1;
delay_ms(500);
O_TN=0;
delay_ms(500);
i++;
}
while(i<2);
i=0;
gsm_config();
//************************************************** ****************************
while(1)
{
//************************************************** ****************************
//bat dau xu li cac trang thai ngo vao(cam bien)
//kiem tra neu co chuyen dong thi se bao tin nhan
if(ichuyendong1==0)
{
if(ichuyendong==1)
{
O_LOA = 1;
check_CD = 1;
for(i=0;i<n+1;i++)
{ printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(100);
printf("Nha tai %s co NGUOI. De nghi kiem tra.",MSGmacdinh);
putc(26);
delay_ms(1000);
}
delay_ms(2000);
ichuyendong1=1;
ichuyendong=ichuyendong1=0;
}
ichuyendong=0;
count_cd=0;
}
//************************************************** ***************************
//thuc hien va luu du cac lenh khi co tin nhan den
if(itinnhan)
{
start:i=0;count=0;count_mk=0;count2_2cham=0;dem_nd =0;
printf("AT+CMGR=1\n\r");
delay_ms(500);
O_TN=0;
//kiem tra lenh CONF: cai dat so dien thoai
if(instr(buffer,conf_CONF))
{
mposition = position(buffer,conf_CONF);
dem_ND=0;
do
{
temp_array[dem_ND++]=buffer[mposition++];
}
while(buffer[mposition]!=10);
count_mk = 0;
///////////////////////////////////////////
// BAT DAU VONG LAP KIEM TRA CONF
if(instr(temp_array,conf_CONF))
{
// BAT DAU VONG LAP KIEM TRA MK
if(instr(MK_tam,MKmacdinh))
{
for(i=0;i<11;i++)
for(n=0;n<12;n++)
so[i].dt[n]=0;
// BAT DAU LUU SO DIEN THOAI
O_TN=1;
delay_ms(400);
O_TN=0;
count_temp=strlen(temp_array);
count_temp=count_temp-count2_2cham;
count_dauphay=0;
i=0,n=0;
sdt:
i=dem;
do
{
if(temp_sdt[i]==13) {so[n].dt[i-dem]=0;goto next;}
so[n].dt[i-dem] = temp_sdt[i];
i++;
}
while(temp_sdt[i]!=',');
n++;
dem=i+1;
goto sdt;
next:
for(i=0;i<n+1;i++)
{ printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(100);
printf("So dien thoai cua ban da duoc dua vao he thong canh bao");
putc(26);
delay_ms(1000);
}
O_TN=1;
delay_ms(300);
O_TN=0;
}
// da ket thuc doc va luu vao so dien thoai
}
printf("AT+CMGD=1\n\r");
delay_ms(200);
itinnhan=0;
erase_buffer();
///////////////////////////////////////////
}
if(save_phone==49)
{
if(instr(buffer,conf_PW))
{
mposition = position(buffer,conf_PW);
dem_ND=0;
// BAT DAU VONG LAP KIEM TRA MK
do{
MK_tam[count_mk]=temp_array[3+count_mk];//lay mat khau sau dau
count_mk++;
}
while(temp_array[3+count_mk]!=':');//cho toi khi gap dau 2 cham tiep theo
count2_2cham=3+count_mk+1; // luu lai vi tri dau 2 cham thu 2
if(instr(MK_tam,MKmacdinh))
{
// xoa bien MK moi truoc khi luu
for(i=0;i<8;i++)
MKmacdinh[i]=0;
// Bat dau dem
count_temp=strlen(temp_array);
count_temp=count_temp-count2_2cham;
count_dauphay=0;
i=0;
for(i=0;i<n+1;i++)
{
printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(100);
printf("Mat khau moi:%s",MKmacdinh);
putc(26);
delay_ms(1000);
}
O_TN=1;
delay_ms(300);
O_TN=0;
}
printf("AT+CMGD=1\n\r");
delay_ms(200);
itinnhan=0;
erase_buffer();
}
}
/////////////////////////////////////////////////////////
if(save_phone==49)
{
if(instr(buffer,conf_PT))
{
mposition = position(buffer,conf_PT);
dem_ND=0;
do{
temp_array[dem_ND++]=buffer[mposition++];}
while(buffer[mposition]!=10);
count_mk = 0;
// BAT DAU VONG LAP KIEM TRA MK
do{
MK_tam[count_mk]=temp_array[3+count_mk];//lay mat khau sau dau
count_mk++;
if(count_mk>8)
{
count_mk=0;
printf("AT+CMGD=1\n\r");
goto start;
}
}
while(temp_array[3+count_mk]!=':');//cho toi khi gap dau 2 cham tiep theo
count2_2cham=3+count_mk+1; // luu lai vi tri dau 2 cham thu 2
if(instr(MK_tam,MKmacdinh))
{
if(instr(temp_array,PTON))
{
//tat cac ngat va xoa trang thai bien ve 0
for(i=0;i<n+1;i++)
{
printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(50);
printf("Bat chuc nang bao ve he thong tai nha %s",MSGmacdinh);
putc(26);
delay_ms(1000);
}
delay_ms(5000);
en_timer0();
//DONG=0;
// PT_MO=0;
//dis_int0();
//Led_cd = 0;
O_TN=1;
//write_eeprom(502,'0');
delay_ms(300);
O_TN=0;
delay_ms(10000);
}
if(instr(temp_array,PTOFF))
{
//tat cac ngat va xoa trang thai bien ve 0
dis_timer0();
PT_MO=1;
O_LOA = 0;
//O_KHOI = 0;
//O_NUOC = 0;
//O_CUA = 0;
//O_NC= 0;
ichuyendong=ichuyendong1=0;
ikhoi=ikhoi1=0;
inuoc=inuoc1=0;
inc=inc1=0;
//ket thuc
delay_ms(1000);
for(i=0;i<n+1;i++)
{
printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(100);
printf("TAT bao ve tai nha %s.",MSGmacdinh);
putc(26);
delay_ms(1000);
}
//dis_int0();
// Led_cd = 0;
O_TN=1;
// write_eeprom(502,'0');
delay_ms(300);
O_TN=0;
delay_ms(10000);
}
printf("AT+CMGD=1\n\r");
delay_ms(200);
itinnhan = 0;
erase_buffer();
}
}
}
//************************************************** ***************************
//Bat dau kiem tra lenh MSG
if(save_phone==49)
{
if(instr(buffer,conf_MSG))
{
mposition = position(buffer,conf_MSG);
dem_ND=0;
do{
temp_array[dem_ND++]=buffer[mposition++];}
while(buffer[mposition]!=10);
count_mk = 0;
// BAT DAU VONG LAP KIEM TRA MK
do{
MK_tam[count_mk]=temp_array[4+count_mk];//lay mat khau sau dau
count_mk++;
}
while(temp_array[4+count_mk]!=':');//cho toi khi gap dau 2 cham tiep theo
count2_2cham=4+count_mk+1; // luu lai vi tri dau 2 cham thu 2
if(instr(MK_tam,MKmacdinh))
{
// Bat dau dem
count_temp=strlen(temp_array);
count_temp=count_temp-count2_2cham;
count_dauphay=0;
i=0;
for(i=0;i<n+1;i++)
{
printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(50);
printf("Da cai dia chi tai %s",MSGmacdinh);
putc(26);
delay_ms(1000);
}
O_TN=1;
delay_ms(300);
O_TN=0;
}
}
}
//************************************************** ***************************
printf("AT+CMGD=1\n\r");
delay_ms(200);
itinnhan=0;
erase_buffer();
}
}
}
Leave a comment:
-
em đã sửa được rồi,code ko có sai đâu ạ,kiểm tra mạch cứng bị hở chỗ switch ạ.
thân,
Leave a comment:
-
Cho xin cái mạch nguyên lý.
Theo như mình nhận xét code này bạn viết khá sơ sài, chưa có kiểm tra module sim xem đã khởi động chưa, chưa có kiểm tra phản hồi sau khi gửi tin nhắn.
Mình đọc code chỉ thấy bạn setting cho module của bạn ở chế độ mode text nhưng mình nhớ khi làm việc giữa pic và sim300 để có thể gửi tin nhắn, đọc tin nhắn tức thời cần phải setting ở 1 vài chỗ nữa. Nếu bạn đã setting rồi nên up luôn phần setting để tiện theo dõi.
Chúc bạn thành công!
Ngô Đông Y
********
Mobile : 0984053088
Yahoo : mailabautroixanh_39@yahoo.com
Email : mailabautroixanh39@gmail.comLast edited by lightspy39; 01-05-2011, 00:17.
Leave a comment:
-
cần giúp gởi tin nhắn với module sim300cz
chào mọi người,.
em hiện đang làm đồ án với con sim300CZ+pic
em test thử module sim qua Hyper thì thấy ok hết,cả nhắn tin và thực hiện cuộc gọi.
và em cũng đã thử lun con pic qua Hyper xem có gởi đúng lệnh theo kiểu AT hay ko,và thấy hắn gởi cũng chính xác.
Thế khi em kết nối trực tiếp con pic với module sim để thử gởi 1 tin nhắn,thì lại ko chạy được ạ
AC nào có kinh nghiệm làm phần này rồi hay đã từng gặp lỗi giống như em,thì xin AC chỉ giúp em với ạ.
Đoạn code trên Pic của em :
Code:#include <18f26K20.h> #device ADC=10 #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=11059000) #include <stdio.h> #include <string.h> #include <stdlibm.h> #include <stdlib.h> #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7) // baud= 9600, chan truyen C6, chan nhan C7 #BYTE PORTA =0xf80 #BYTE PORTB =0xf81 #BYTE PORTC =0xf82 #BYTE ANSELH= 0xF7F #BYTE ANSEL = 0xF7E #BYTE TRISA = 0xF92 #BYTE TRISB = 0xF93 #BYTE ADCON2 = 0xFC0 #BYTE ADCON1 = 0xFC1 #BYTE ADCON0 = 0xFC2 #BYTE INTCON = 0xFF2 #BYTE INTCON2 = 0xFF1 #BYTE INTCON3 = 0xFF0 #BYTE T0CON = 0xFD5 #BYTE TMR0L = 0xFD6 #BYTE TMR0H = 0xFD7 #BYTE PIR1 = 0x0F9E #BYTE PIE1 = 0x0F9D #BYTE T1CON = 0x0FCD #BYTE T1GCON = 0x0F9A #BYTE TCLKCON = 0x0F52 //*********************************************************************************************** #bit INTCON_GIEH = INTCON.7 #bit INTCON_GIEL = INTCON.6 #bit INTCON_TMR0IE = INTCON.5 #bit INTCON_TMR0IF = INTCON.2 #bit INTCON2_TMR0IP = INTCON2.2 #bit INTCON_INT0IE = INTCON.4 #bit INTCON_INT0IF = INTCON.1 #bit INTCON2_INTEDG0 = INTCON2.6 #bit INTCON2_INTEDG1 = INTCON2.5 #bit INTCON3_INT1IE = INTCON3.3 #bit INTCON3_INT1IF = INTCON3.0 #bit TRISAbits_TRISA0 = TRISA.0 #bit TRISAbits_TRISA1 = TRISA.1 #bit TRISAbits_TRISA2 = TRISA.2 #bit TRISAbits_TRISA3 = TRISA.3 #bit TRISAbits_TRISA4 = TRISA.4 #bit TRISBbits_TRISB1 = TRISB.1 #bit TRISBbits_TRISB0 = TRISB.0 //char chuoi_sms="ON_1"; // khai bao chuoi nay de so sanh vs tn,neu tn goi den on 1 thi ham ss chuoi return ve 1,bat role //char chuoi_sms2="ON_2"; void send_sms(void) { printf("AT+CMGS=\"0905638093 \"\n"); delay_ms(2000); printf("hello Chuan ^__^ "); putc(26); //Ctrl+z,,, enter=13 delay_ms(1000); } void call(void) { printf("ATD0905638093;"); putc(13); delay_ms(400); } void gsm_config() { delay_ms(4000); printf("AT\n\r"); delay_ms(500); printf("AT\n\r"); delay_ms(500); printf("AT\n\r"); delay_ms(500); printf("AT\n\r"); delay_ms(500); printf("AT+CMGF=1\n\r"); delay_ms(500); printf("AT+CMGF=1\n\r"); delay_ms(500); } void main() { set_tris_c(0x80); gsm_config(); send_sms(); while(true) { } }
thân chào.Tags: None
Bài viết mới nhất
Collapse
-
bởi xuanthiettivi em bị mất remote lỡ vào chế độ usb giờ không chọn lại source được. ai có file nạp cho em xin với ạ. Model 32HD957T2
-
Channel: Điện tử truyền hình
hôm nay, 10:53 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi chinhnguyen9Đa tạ lời cảm ơn của bạn. Mến!
-
Channel: Hướng dẫn sử dụng diễn đàn
hôm nay, 05:06 -
-
Trả lời cho Xin tư vấn về mạch cầu H cho inverter 1000wbởi thebinhzChắc là không được đâu bạn ơi
Quán ăn Vĩnh Yên-
Channel: Điện tử công suất
Hôm qua, 21:56 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi thebinhzCảm ơn bạn nhiều nha
Nhà hàng Vĩnh Yên-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 21:50 -
-
bởi chinhnguyen9Sản phẩm này ghi version 2.0 01-2024 MADE IN CHINA nhưng không thấy thương hiệu hình 1
Do 8 chân G của mosfet được đấu song song thành 2 nhóm nên có cùng biên độ xung kích. Nhưng Q1 và Q2 nằm cuối dãy B3;B4 ờ mức nguồn cao nhất do chân Q có điện áp...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 08:29 -
-
bởi chinhnguyen9
Xem hình có phần thuyết minh bên trong tiện việc quan sát và đọc thuyết minh. Khi G1 high dòng điện chạy theo các đường màu đen khi G2 high dòng điện chạy theo các đường màu nâu đỏ.
Bổ sung một tính chất củng cố cho tên gọi tụ...-
Channel: Hướng dẫn sử dụng diễn đàn
24-04-2024, 01:15 -
-
Trả lời cho CODE/ROM-dvb-vcd-dvd-mindikaraoke- Máy nạp Rombởi ThaPhong20Mình cần giúp đõ đầu California MIDI-800K
Ngày trc có nghe tin đồn đầu này có thể chạy đĩa DH-3600 nên mua Vol 26 về chạy thử và nó báo góc trái dòng code rồi tự thay nền DH-3600S luôn. Sau khi tự thay nền thì nó tiếp tục báo dòng Code...-
Channel: Thiết bị thu phát MEDIA dân dụng
23-04-2024, 19:24 -
-
Trả lời cho Xin tư vấn về mạch cầu H cho inverter 1000wbởi N.T.HIRF460 có chịu được tải 1000W công suất thực không ạ....
-
Channel: Điện tử công suất
23-04-2024, 16:05 -
-
bởi chinhnguyen9Trước đây có thế hệ mạch cân bằng chủ động hoạt động theo nguyên lý so áp giữa 2 cell (hoặc 2 chuỗi) liền kề nếu điện áp này >100mV mach cận bằng sẽ được kích hoạt và sẽ dừng hoạt động cân bằng khi độ chênh điện áp giảm xuống còn 30 mV
Hiện nay có dòng sản phẩm mới gọi là...-
Channel: Hướng dẫn sử dụng diễn đàn
23-04-2024, 07:26 -
-
Trả lời cho Hỏi về mạch công suất bị dò DCbởi vandoanĐiện áp ở A và C được ghim bởi Transistor Q8. chuyện áp ra loa + hay - là do các trans khác bị chập chập bên nào thì thay bên đó.
-
Channel: Điện thanh
20-04-2024, 12:00 -
Leave a comment: