Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char csq_query_msg[]="AT+CSQ\r";
- char sms_hdr[]="AT+CMGS="0698090262"\r";
- char csq_answer[5]={'0', '0', '0', '0', '0'};
- char input_buffer[99];
- char lettre = 'A';
- char egal = '=';
- char ctrlz = 26;
- while(1){
- /* On attend un peu */
- compteur = 0;
- while(compteur<4000);
- /* On vide le buffer d'entrée */
- for(i=0; i<100; i++){
- input_buffer[i] = 0;
- }
- t = 0;
- /* On demande le CSQ */
- while(PIR1bits.TX1IF);
- puts1USART(csq_query_msg);
- /* On attend que le MODEM nous donne le CSQ (buffer input rempli) */
- while(t<20);
- /* On releve le CSQ */
- for(i=0; i<=5; i++){
- csq_answer[i] = input_buffer[i+18];
- }
- /* On envoi le sms */
- /* On envoi les headers */
- while(PIR1bits.TX1IF);
- puts1USART(sms_hdr);
- /* On envoi la lettre identifiant le sms */
- while(PIR1bits.TX1IF);
- if(lettre > 90)
- lettre = 65;
- Write1USART(lettre++);
- /* On envoi le egal */
- while(PIR1bits.TX1IF);
- Write1USART(egal);
- /* On envoi le relevé CSQ */
- for(i=0; i<=5; i++){
- while(PIR1bits.TX1IF);
- Write1USART(csq_answer[i]);
- }
- /* On envoi le CTRLZ */
- while(PIR1bits.TX1IF);
- Write1USART(ctrlz);
- }
- a mettre dans l'interrupt :
- if(PIR1bits.RC1IF){
- input_buffer[t++] = RCREG1;
- if(t=99)
- t=0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement