本帖最后由 DEMOK 于 2015-12-21 23:02 编辑
1 默认接线方式K60核心板 | 定位眼摄像头 | VCC(5V/3V3) | VCC(5V) | PTE[0:7] | Y[0:7] | PTC16 | PCLK | PTC19 | HREF | PTC18 | VSYN | GND | GND |
2.修改8位数据口
在bsp.c文件void BSP_init()函数中,设置数据口PTE[0:7]为输入:
- Gpio_init(PORT_E, 0, 0, 0);
- Gpio_init(PORT_E, 1, 0, 0);
- Gpio_init(PORT_E, 2, 0, 0);
- Gpio_init(PORT_E, 3, 0, 0);
- Gpio_init(PORT_E, 4, 0, 0);
- Gpio_init(PORT_E, 5, 0, 0);
- Gpio_init(PORT_E, 6, 0, 0);
- Gpio_init(PORT_E, 7, 0, 0);
复制代码用户如需修改,修改以上代码中的PORT_E为用户需要用到端口,如PORT_A,PORT_B等;修改以上代码中的pin脚为用户对应端口用到的引脚。 在bsp.c 文件void BSP_init()函数中,设置数据口PTE口为DMA传输口: - DMA_transmit_init((void *)&GPIOE_PDIR, Pix_Data,COL,51);
复制代码用户如需修改,修改以上代码中的GPIOE_PDIR为用户需要用到的端口,如GPIOA_PDIR,GPIOB_PDIR,GPIOC_PDIR等。
3.修改像素中断
在bsp.c 文件void BSP_init()函数中,设置像素中断PTC16初始化
- Gpio_init(PORT_C,16,0,0);
- PORTC_PCR16|=PORT_PCR_IRQC(1);
- DMA_transmit_init((void *)&GPIOE_PDIR, Pix_Data,COL,51);
复制代码用户如需修改,修改第一条语句中第一个和第二个参数PORT_C和16为用户用到的端口和引脚;修改第二条语句的PORTC_PCR16为用户用到的端口和引脚;修改第三条语句第四个参数51,此数字按照以下方式对应:PORTA口对应参数49,PORTB口对应参数50,PORTC口对应参数51,PORTD口对应参数52,PORTE口对应参数53,实例程序像素中断接PORTC口因此对应参数51。 如修改像素中断接K60的PA10,则修改以上代码如下所示:
- Gpio_init(PORT_A,10,0,0);
- PORTA_PCR10|=PORT_PCR_IRQC(1);
- DMA_transmit_init((void *)&GPIOE_PDIR, Pix_Data,COL,49);
复制代码
4.修改行中断和场中断
在bsp.c 文件void BSP_init()函数中,设置场中断PTC18和行中断PTC19初始化 - Gpio_init(PORT_C,18,0,0);
- Gpio_init(PORT_C,19,0,0);
复制代码用户如需修改,修改以上两条语句的第一个参数和第二个参数为用户所用的端口和引脚,同时也要修改该函数中所调用的函数exti_init(),该函数处在exti.c文件中 - SIM_SCGC5 |= ( SIM_SCGC5_PORTC_MASK );
- PORTC_PCR18|=PORT_PCR_MUX(1)|PORT_PCR_IRQC(10)|PORT_PCR_PE_MASK;
- PORTC_PCR19|=PORT_PCR_MUX(1)|PORT_PCR_IRQC(9)|PORT_PCR_PE_MASK;
- enable_irq(89);
复制代码修改第一条语句的SIM_SCGC5_PORTC_MASK为用户所用到的端口相应的宏定义,如修改为SIM_SCGC5_PORTA_MASK或SIM_SCGC5_PORTB_MASK;修改第二条语句的PORTC_PCR18为用户要用到的场中断引脚,修改第三条语句的PORTC_PCR19为用户要用到的行中断引脚(注意第二条语句是场中断配置,第三条是行中断配置);修改第四条语句中的参数,其中PORTA口对应参数87,PORTB口对应参数88
PDF附件:
定位眼摄像头问题答疑-FAQ集合帖 http://www.znczz.com/thread-239111-1-1.html
|