注册会员
- 积分
- 173
- 威望
- 99
- 贡献
- 36
- 兑换币
- 45
- 注册时间
- 2013-3-16
- 在线时间
- 19 小时
|
对于场中断,行中断,还有像素中断,那个中断处理函数,没理解是什么意思。这三个中断究竟是如何触发的啊?
然后那个行场中断处理函数到底是对什么进行处理啊?这个真心没弄懂啊。
我理解是,摄像头供上电后接收到图像就触发场中断,然后第一行图像就触发行中断,然后开启DMA中断,数据传输,然后传完一行就进入DMA中断告诉我一行传完了?
void PORTA_IRQHandler()
{
//---HREF行中断处理
if( PORTA_ISFR & (1 << 9)) //PTA9触发中断
{
PORTA_ISFR |= (1 << 9); //写1清中断标志位
if ( SampleFlag == 0 ) //不足一场时返回
{
return;
}
DMA_PORTx2BUFF_Init (DMA_CH4, (void *)&PTD_BYTE0_IN, ImageBuf[rowCnt], PTC19, DMA_BYTE1, 320, DMA_rising);
DMA_EN(DMA_CH4);
rowCnt++;
if(rowCnt == 240)
{
rowCnt = 0;
DMA_DIS(DMA_CH4);
//---------若为动态显示,删除此行------------//
DisableInterrupts;
}
}
//---VSYN场中断处理
if(PORTA_ISFR & (1 << 27)) //PTA27触发中断 场中断
{
PORTA_ISFR |= (1 << 27); //写1清中断标志位
rowCnt = 0;
SampleFlag = 1;
}
}
|
|