⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsp_com.h

📁 基于DSP芯片TMS320LF2407的高速公路室外显示屏驱动程序
💻 H
字号:
/*Designed by lizw 04/11/18*/

#ifndef DSP_COM_H   
#define DSP_COM_H


char phone_num[12]="13634403413";
int  send_len=0;
int  send_index;
int  rec_len; 

volatile unsigned char *p_sendbuf =(volatile unsigned char*)  0x0b40;
volatile unsigned char *p_recbuf  =(volatile unsigned char*)  0x0c00;

#include "real_time.h"

void disable_int(){
   asm(" setc INTM");
   asm(" setc SXM");
}

void enable_int(){
   asm(" clrc INTM");
}
void init_com(int a){
    disable_int();
    *IFR=0xffff;
    *SCSR1=0x81de;
    *WDCR=0xE8; 
    *SCICCR=0x07;
    *SCICTL1=0x13;
    *SCICTL2=0x03;//0X03
    *SCIHBAUD=0x02;
    *SCILBAUD=0x08;
    *SCICTL1=0x33;
    *SCIPRI=0x60;
    *MCRA=0x03;
    *PADATDIR=0x100;
    *IMR=(*IMR)|0x10;
        
    enable_int();
    
}

void init_SRbuf(int a){
     int i;
     if((a&0x01)!=0){
         for(i=0;i<192;i++)
           *(p_sendbuf+i)='\0';
         send_index=0;
         send_len=0;   
       } 
     if((a&0x02)!=0){
         for(i=0;i<512;i++)
           *(p_recbuf+i)='\0';
         rec_len=0;   
       } 
     
      
}

void Copy_back(int bg,int length){
     int i;
     
     init_SRbuf(1);
     if(length>(512-bg))
         length=512-bg;
     for(i=0;i<length;i++){
         *(p_sendbuf+i)=*(p_recbuf+bg+i);           
     }   
     send_len=length;
     send_index=0;

}


void com_send(){ 
   if(send_index>=send_len) return;
   *SCITXBUF=*(p_sendbuf+send_index);
   send_index++;
   *IFR=0x0010;
   enable_int();
   
}

void send_data(){ 
     /*for(send_index=0;send_index<send_len;send_index++){ */        
         send_index=1;
         *SCITXBUF=*(p_sendbuf+send_index-1);
         *IFR=0x0010;
         enable_int(); 
       /* while(!((*IFR)&0x10)); 
         
     }*/    
}  
 
void com_recieve(){
    BYTE rec_temp; 
    int i;
    rec_temp=*SCIRXBUF;
    
    if((rec_temp!=0x0D)&&(rec_temp!=0x0A))
         p_recbuf[rec_len++]=rec_temp;   
    
    *IFR=0x0010;
    enable_int();
    if(rec_len>=50)
        finish_process=0;
    if(rec_len>=6){
        if((p_recbuf[rec_len-1]==':')&&(p_recbuf[rec_len-2]=='I')&&(p_recbuf[rec_len-3]=='T')&&(p_recbuf[rec_len-6]=='+')){                        ////////+CMTI:
             sms_kk=15;
             de_sms=16;
         }    
     }
    if(rec_len>=20){        
       if((p_recbuf[rec_len-1]=='K')&&(p_recbuf[rec_len-2]=='O')){
            i=3;
       
            do{
              i++;
              }while((i<13)&&(p_recbuf[rec_len-i]!=':'));  
       
            if(p_recbuf[rec_len-i]==':'){
                if((p_recbuf[rec_len-i-1]=='S')&&(p_recbuf[rec_len-i-2]=='G')&&(p_recbuf[rec_len-i-3]=='M')&&(p_recbuf[rec_len-i-4]=='C')&&(p_recbuf[rec_len-i-5]=='+'))
                   error=0;       
              } 
    
        }  
    }
}



#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -