金牌会员
- 积分
- 1126
- 威望
- 697
- 贡献
- 239
- 兑换币
- 0
- 注册时间
- 2011-9-21
- 在线时间
- 95 小时
|
程序如下void caiji2()
{
for(j=0;j<L;j++)
{
tuxiang1[k][j]=(uint8_t)PTD->PDIR;
// DELAY_Us(1);
}
k++;
}
void PORTE_IRQHandler(void)
{
uint8_t i=31;
uint8_t bai;
uint8_t shi;
uint8_t ge;
for(i=31;i>0;i--) //判断哪个引脚的中断发生,i表示哪个引脚发生的中断
{
if((PORTE->ISFR>>i)==1)break;
}
switch(i)
{ /*这里是引脚发生中断所做的事*/
case 0:/*做的事*/;break;
case 1:/*做的事*/;break;
case 2:/*做的事*/;break;
case 17:
{
i=0;
SIM->SCGC5|=SIM_SCGC5_PORTE_MASK;NVIC_EnableIRQ(PORTE_IRQn);
PORTE->PCR[19]&=~(PORT_PCR_PS_MASK);
PORTE->PCR[19]|=PORT_PCR_PE_MASK; // 下拉电阻,参见k10手册240页
PORTE->PCR[19]&=~PORT_PCR_MUX_MASK;//mux位清0
PORTE->PCR[19]|=PORT_PCR_MUX(1); //配置为GPIO功能
PTE->PDDR&=~(1<<19); //配置PORTn口的第index引脚为输入,参见k10手册1484页
PORTE->PCR[19]|=PORT_PCR_IRQC(9);//外部中断触发设置 参考k10手册238页
//caijihang=0;
k=0;
//changend=0;
PORTE->ISFR|=1<<17;
break;
}
case 19:
{ LED_Init();
caiji2();
if(k>=H)
{
//changend=1;
NVIC_DisableIRQ(PORTE_IRQn);
//erzhihua();
for(i=0;i<H;i++)
{
for(j=0;j<L;j++)
{
bai=tuxiang1[i][j]/100;
shi=(tuxiang1[i][j]-bai*100)/10;
ge=tuxiang1[i][j]%10;
UART_Send1(UART3,bai+'0');
UART_Send1(UART3,shi+'0');
UART_Send1(UART3,ge+'0');
UART_Send1(UART3,' ');
//LED0=!LED0;
}
UART_Send1(UART3,'\n');
}
NVIC_EnableIRQ(PORTE_IRQn);
// EXIT_Init(PORTE,17,10);
UART_SendString(UART3,"\r\n!!!!!!!!!!!!!!!!!\r\n");
}
PORTE->ISFR|=1<<19;
break;
}
default: break;
}
//PORTE->ISFR|=PORT_ISFR_ISF_MASK; //清除标志位 参见k10手册241页
}
采集完一场数据使中断停止,用串口输出,为什么采集的数据只有一场(摄像头无论怎么移动都是一样的数据)
谢谢了……
|
|