高级会员
- 积分
- 838
- 威望
- 349
- 贡献
- 437
- 兑换币
- 4
- 注册时间
- 2012-3-2
- 在线时间
- 26 小时
- 毕业学校
- 桂林电子科技大学
|
sonwendi 发表于 2012-3-18 14:58
2.2当然不可捕捉了,一般要求输入高电平VIH>=0.65*VCC,也就是3V多,你用LM1881视频分离以后的场信号进行 ...
我改用外部中断后可以采了 呵呵 不过,为什么总是踩到0啊 我发程序你能帮我分析下么?
#include"VO5116.H"
unsigned char c_lie=0,g_lie=0;
unsigned int lie_count=0,hang_count=0;
unsigned int i=0,j=0;
volatile uint32 flag=0;
unsigned char SCAN[lie][hang_end];
unsigned int get_n[]={ 16,29,41,52,62,71,79,86,92,98,
103,108,112,116,120,124,128,132,135,138,
141,144,147,150,153,156,159,162,165,168,
170,172,174,176,178,180,182,184,186,188,
190,192,194,196,198,200,202,204,206,208,
210,211,212,242,243,245,246,247,248,249,250};
//=======================行中断=========PTC1===================
void hang_irq(void)
{
DisableInterrupts; //禁止总中断
// uart_sendN (UART4 ,"HANG IRQ",12);
PORTC_ISFR=1<<1; // Clear the PTC8 interrupt flags
if(lie_count==get_n[c_lie]) //定距采集图像的判断条件
{
delay(1); //黑线中心矫正,确保不采集到消隐信号
for(hang_count=0;hang_count<=hang_end;hang_count++) //读取一行的数据
{
if(SUO)SCAN[c_lie][hang_count]='1';
else SCAN[c_lie][hang_count]='0';
}
c_lie++; //二维数组行自加
}
lie_count++; //摄像头行自加
EnableInterrupts;
}
//=======================场中断====PTB1========================================
void chang_irq (void)
{
flag=1;
DisableInterrupts; //禁止总中断
// uart_sendN (UART4 ,"ccHANG IRQ",12);
PORTB_ISFR=1<<1; // Clear the PTB1 interrupt flags
hang_count=0;
lie_count=0;
c_lie=0;
EnableInterrupts;
}
|
|