毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机安全 >> 正文

基于EasyARM1138的城市公交路线智能查询机 第10页

更新时间:2014-6-29:  来源:毕业论文

基于EasyARM1138的城市公交路线智能查询机 第10页
//uint X=0,Y=0;
 void touch_GetAdXY(unsigned int *GX,unsigned int *GY)
{
   *GX=240-ADS7846_Read_XY(CHX)/8;  //CHX  通道X+的选择控制字 
   *GY=ADS7846_Read_XY(CHY)/6;  //CHY  通道Y+的选择控制字
}
//GPIOF口中断初始化
void  GPIOF_IntInit(void)
{
    SysCtlPeriEnable(SYSCTL_PERIPH_GPIOF);              //  使能GPIOF端口
    GPIOPinTypeIn(GPIO_PORTF_BASE , GPIO_PIN_1);        //  设置PF1管脚为输入

    GPIOIntTypeSet(GPIO_PORTF_BASE ,                   //  设置PF1的中断类型
                   GPIO_PIN_1,
                   GPIO_LOW_LEVEL);

    GPIOPinIntEnable(GPIO_PORTF_BASE , GPIO_PIN_1);    //  使能PF1管脚中断
    IntEnable(INT_GPIOF);                              //  使能GPIOF端口中断
}
//中断服务函数
void  GPIO_Port_F_ISR(void)
{
    unsigned long  ulStatus;
    uint8 t=0;
   
    do
    { 
       ulStatus  =  GPIOPinIntStatus(GPIO_PORTF_BASE , true);//  读取中断状态
       t=ulStatus;
       Read_Ads7846(&x,&y);

    }while(t==0);
    GPIOPinIntClear(GPIO_PORTF_BASE , ulStatus);       //  清除中断状态,重要
}
//分别读XY坐标值10次,进行从小到大排序,取中间三位平均值
void Read_Ads7846(unsigned int *XX,unsigned int *YY)
{
 uint8  t,t1,count=0;
 uint16 databuffer[2][10]={{5,7,9,3,2,6,4,0,3,1},{5,7,9,3,2,6,4,0,3,1}}; //数据组
 uint16 temp=0; 
    do       //循环读数10次
 {
  t=ADS7843_IRQ;    
  if(ADS7846_Read_XY(CHX)!=0)//读数成功
  {  
   databuffer[0][count]=ADS7846_Read_XY(CHX);
   databuffer[1][count]=ADS7846_Read_XY(CHY);
   count++; 
  }
 }while(!t&&count<10); 
 if(count==10)//一定要读到10次数据,否则丢弃
 { 
     do//将数据X升序排列
  { 
   t1=0;   
   for(t=0;t<count-1;t++)
   {
    if(databuffer[0][t]>databuffer[0][t+1])//升序排列
    {
     temp=databuffer[0][t+1];
     databuffer[0][t+1]=databuffer[0][t];
     databuffer[0][t]=temp;
     t1=1;
    } 
   }
  }while(t1);   
  do//将数据Y升序排列
  { 
   t1=0;  
   for(t=0;t<count-1;t++)
   {
    if(databuffer[1][t]>databuffer[1][t+1])//升序排列
    {
     temp=databuffer[1][t+1];
     databuffer[1][t+1]=databuffer[1][t];
     databuffer[1][t]=temp;
     t1=1; 
    } 
   }
  }while(t1);    
        
  *XX=240-(databuffer[0][3]+databuffer[0][4]+databuffer[0][5])/24;
  *YY=(databuffer[1][3]+databuffer[1][4]+databuffer[1][5])/18;
                x=*XX;
                y=*YY;
         // drawbigpoint(*XX,*YY);
               // return;
 }
}

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

基于EasyARM1138的城市公交路线智能查询机 第10页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。