注册 登录
查看: 813|回复: 3

摄像头采集程序管脚配置怎样修改?

[复制链接]
发表于 2013-5-21 22:40:54 | 显示全部楼层 |阅读模式

我想问下,ov7620的摄像头采集程序,,管脚配置,是不是在这个工程文件里修改呢?   





/******************** (C) COPYRIGHT 2011 山外嵌入式开发工作室 ********************
* 文件名       :gpio.c
* 描述         :gpio驱动函数
*
* 实验平台     :山外kinetis开发板
* 库版本       :
* 嵌入系统     :
*
* 作者         :山外嵌入式开发工作室
* 淘宝店       :http://firestm32.taobao.com
* 技术支持论坛 :http://www.ourdev.cn/bbs/bbs_list.jsp?bbs_id=1008
**********************************************************************************/

#include "common.h"
#include "gpio.h"


volatile struct GPIO_MemMap *GPIOx[5] = {PTA_BASE_PTR, PTB_BASE_PTR, PTC_BASE_PTR, PTD_BASE_PTR, PTE_BASE_PTR}; //定义五个指针数组保存 GPIOx 的地址
volatile struct PORT_MemMap *PORTX[5] = {PORTA_BASE_PTR, PORTB_BASE_PTR, PORTC_BASE_PTR, PORTD_BASE_PTR, PORTE_BASE_PTR};

/*************************************************************************
*                             山外嵌入式开发工作室
*
*  函数名称:gpio_init
*  功能说明:初始化gpio
*  参数说明:PORTx       端口号(PORTA,PORTB,PORTC,PORTD,PORTE)
*            n           端口引脚
*            IO          引脚方向,0=输入,1=输出
*            data        输出初始状态,0=低电平,1=高电平 (对输入无效)
*  函数返回:无
*  修改时间:2012-1-15   已测试
*  备    注:
*************************************************************************/
void gpio_init (PORTx portx, u8 n, GPIO_CFG cfg, u8 data)
{
    ASSERT( (n < 32u)  && (data < 2u) );           //使用断言检查输入、电平 是否为1bit

    //选择功能脚 PORTx_PCRx ,每个端口都有个寄存器 PORTx_PCRx
    PORT_PCR_REG(PORTX[portx], n) = (0 | PORT_PCR_MUX(1) | cfg);

    //端口方向控制输入还是输出
    if( ( (cfg & 0x01) == GPI) || (cfg == GPI_UP) ||     (cfg == GPI_UP_PF)      )
        //   最低位为0则输入   ||   输入上拉模式  ||   输入上拉,带无源滤波器
    {
        GPIO_PDDR_REG(GPIOx[portx]) &= ~(1 << n);  //设置端口方向为输入
    }
    else
    {
        GPIO_PDDR_REG(GPIOx[portx]) |= (1 << n);    //设置端口方向为输出
        if(data == 1)//output
        {
            GPIO_SET_1bit(portx, n, 1);                  //对端口输出控制,输出为1
        }
        else
        {
            GPIO_SET_1bit(portx, n, 0); //对端口输出控制,输出为0
        }
    }
}

/*************************************************************************
*                             山外嵌入式开发工作室
*
*  函数名称:gpio_set
*  功能说明:设置引脚状态
*  参数说明:PORTx       端口号(PORTA,PORTB,PORTC,PORTD,PORTE)
*            n           端口引脚
*            data        输出初始状态,0=低电平,1=高电平
*  函数返回:无
*  修改时间:2012-1-16   已测试
*  备    注:
*************************************************************************/
void gpio_set (PORTx portx, u8 n, u8 data)
{
    ASSERT( (n < 32u)  && (data < 2u) );           //使用断言检查输入、电平 是否为1bit

    if(data == 1)               //输出
        GPIO_SET(portx, n, 1);  //GPIO_PDOR_REG(PORTx) |= (1<<n);
    else
        GPIO_SET(portx, n, 0);  //GPIO_PDOR_REG(PORTx) &= ~(1<<n);
}

/*************************************************************************
*                             山外嵌入式开发工作室
*
*  函数名称:gpio_turn
*  功能说明:反转引脚状态
*  参数说明:PORTx       端口号(PORTA,PORTB,PORTC,PORTD,PORTE)
*            n           端口引脚
*  函数返回:无
*  修改时间:2012-1-15   已测试
*  备    注:
*************************************************************************/
void gpio_turn (PORTx portx, u8 n)
{
    ASSERT( n < 32u );           //使用断言检查引脚号
    GPIO_TURN(portx, n);
}

/*************************************************************************
*                             山外嵌入式开发工作室
*
*  函数名称:gpio_get
*  功能说明:读取引脚输入状态
*  参数说明:PORTx       端口号(PORTA,PORTB,PORTC,PORTD,PORTE)
*            n           端口引脚
*  函数返回:无
*  修改时间:2012-1-15   已测试
*  备    注:
*************************************************************************/
u8 gpio_get(PORTx portx, u8 n)          //读取引脚状态
{
    ASSERT( n < 32u );                  //使用断言检查引脚号
    return GPIO_Get(portx, n);
}


回复

使用道具 举报

发表于 2013-5-21 22:43:54 | 显示全部楼层
ov7620的摄像头采集程序,,管脚配置 ,直接 在 ov7620 的驱动里面改。
我们没提供 7620 的驱动
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-21 22:51:56 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-21 22:43
ov7620的摄像头采集程序,,管脚配置 ,直接 在 ov7620 的驱动里面改。
我们没提供 7620 的驱动

你是指:....\src\drivers里面的   “fire_drivers_cfg”这个工程文件里修改吗?


修改这个里面的内容?
**********************************  UART   ***************************************/

//      模块通道    端口          可选范围                          建议
#define UART0_RX    PTD6        //PTA1、PTA15、PTB16、PTD6          PTA1不要用(与Jtag冲突)
#define UART0_TX    PTD7        //PTA2、PTA14、PTB17、PTD7          PTA2不要用(与Jtag冲突)

#define UART1_RX    PTC3        //PTC3、PTE1
#define UART1_TX    PTC4        //PTC4、PTE0

#define UART2_RX    PTD2        //PTD2
#define UART2_TX    PTD3        //PTD3

#define UART3_RX    PTC16       //PTB10、PTC16、PTE5
#define UART3_TX    PTC17       //PTB11、PTC17、PTE4

#define UART4_RX    PTE25       //PTC14、PTE25
#define UART4_TX    PTE24       //PTC15、PTE24

#define UART5_RX    PTE9        //PTD8、PTE9
#define UART5_TX    PTE8        //PTD9、PTE8
回复 支持 反对

使用道具 举报

发表于 2013-5-22 08:46:44 | 显示全部楼层
qweewq159 发表于 2013-5-21 22:51
你是指:....\src\drivers里面的   “fire_drivers_cfg”这个工程文件里修改吗?

不是啊,我们没提供 7620 的代码,所以你自己找到的7620 代码,你需要修改底层的驱动,才能修改管脚
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部