高级会员
- 积分
- 733
- 威望
- 382
- 贡献
- 213
- 兑换币
- 245
- 注册时间
- 2013-9-29
- 在线时间
- 69 小时
|
4#
楼主 |
发表于 2014-9-7 20:56:34
|
只看该作者
void PORTC_IRQHandler() //行场中断函数
{
if((PORTC_ISFR & (1<<18))) //行中断
{
if( H_EXTI == (SampleLine[image_row]))
{
DMA_EN(DMA_CH3); //使能通道CHn 硬件请求
image_row++;
}
H_EXTI++; // 行累加 //时序很重要,影响 DMA开启时间
PORTC_ISFR |= (1<<18);//写1清中断标志位
}
if(PORTC_ISFR & (1<<19))//场中断
{
PORTC_ISFR |= (1<<19);//写1清中断标志位
Show_Flag = 0;
DMA_PORTx2BUFF_Init (DMA_CH3, (void *)&PTD_BYTE0_IN, uca_Buffer2, PTD9, DMA_BYTE1,IMAGE_COLUMN_2, DMA_falling_keepon); //DMA_rising_keepon DMA_falling_keepon
//DMA通道4初始化,PTC0上升沿触发DMA传输,源地址为PTD_BYTE0_IN,目的地址为:Pix_Data ,每次传输1Byte,传输H次后停止传输,目的地址保持不变,关闭通道CHn 硬件请求
// enable_irq(87);//使能PORTA中断
ROWIRQ_A_Enable;//行中断使能
Show_Flag = 0; //发送图像标志
H_EXTI = 0; // 行中断清零
image_row=0;
temp_num=0;
PORTC_ISFR |= (1<<19);//写 1 清中断标志位
}
} |
|