我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1347|回复: 0

GPIO控制编程

[复制链接]

该用户从未签到

4

主题

2

回帖

1

积分

一级逆天

c草泥马

积分
1

社区居民

QQ
发表于 2015-11-15 14:32:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
3_CTS, EAT_PIN_MODE_UART);
//    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN34_RTS, EAT_PIN_MODE_UART);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN60_ROW1, EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN61_ROW2, EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN62_ROW0, EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN63_ROW4 , EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN64_NETLIGHT, EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN65_PCM_SYNC, EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN66_PCM_IN, EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN68_UART1_RI , EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN69_UART1_DTR, EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN70_UART1_DCD, EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN74_SCL , EAT_PIN_MODE_GPIO);
    ret_val =ret_val<<1||eat_pin_set_mode(EAT_PIN75_SDA , EAT_PIN_MODE_GPIO);
   
    g_pin_set_result = ret_val;
}
eat_bool eat_modem_data_parse(u8* buffer, u16 len, u8* param1, u8* param2)
{
    eat_bool ret_val = EAT_FALSE;
    u8* buf_ptr = NULL;
    /*param:%d,extern_param:%d*/
     buf_ptr = (u8*)strstr((const char *)buffer,"param");
    if( buf_ptr != NULL)
    {
        sscanf((const char *)buf_ptr, "param:%d,extern_param:%d",(int*)param1, (int*)param2);
        eat_trace("data parse param1:%d param2:%d",*param1, *param2);
        ret_val = EAT_TRUE;
    }
    return ret_val;
}

void eat_app_usb_eint(eat_bool en,EAT_USB_MODE mode)
{
    if(en)
    {
        eat_trace(" eat_app_usb_eint ENTRY--TEST+++++++++++++++++");
        eat_trace(" eat_app_usb_eint USB PLUG IN-mode=%d",mode);
    }
    else
    {
        eat_trace(" eat_app_usb_eint ENTRY--TEST-------------------");
   
    }
}

/****************************************************
* GPIO testing module
*****************************************************/
eat_bool eat_module_test_gpio(u8 param1, u8 param2)
{
    /***************************************
     * example 1
     * used eat_gpio_write test EAT_GPIO_TEST1,EAT_GPIO_TEST2
     ***************************************/
    eat_trace("GPIO test param1=%d,param2=%d",param1,param2);
    if( 1 == param1 )
    {

        if( 1 == param2 )
        {
            eat_trace("GPIO test 1,1 start");
            eat_gpio_setup(EAT_PIN3_GPIO1, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN4_STATUS, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN5_BPI_BUSI, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN20_COL0, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN21_COL3, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN22_COL2, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN23_ROW3, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN24_COL4, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN25_COL1, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN26_PWM, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN27_GPIO2, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN28_GPIO3, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN29_PCM_CLK, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN30_PCM_OUT, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN60_ROW1, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN61_ROW2, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN62_ROW0, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN63_ROW4 , EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN64_NETLIGHT, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN65_PCM_SYNC, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN66_PCM_IN, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN68_UART1_RI , EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN69_UART1_DTR, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN70_UART1_DCD, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN74_SCL , EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN75_SDA , EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW);
            eat_trace("GPIO test 1,1 end");
           
        }else if( 2 == param2)
        {                  
            eat_trace("GPIO test 1,2 start");
            eat_gpio_setup(EAT_PIN3_GPIO1, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN4_STATUS, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN5_BPI_BUSI, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN20_COL0, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN21_COL3, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN22_COL2, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN23_ROW3, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN24_COL4, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN25_COL1, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN26_PWM, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN27_GPIO2, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN28_GPIO3, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN29_PCM_CLK, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN30_PCM_OUT, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN60_ROW1, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN61_ROW2, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN62_ROW0, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN63_ROW4 , EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN64_NETLIGHT, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN65_PCM_SYNC, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN66_PCM_IN, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN68_UART1_RI , EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN69_UART1_DTR, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN70_UART1_DCD, EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN74_SCL , EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_setup(EAT_PIN75_SDA , EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_HIGH);
            eat_trace("GPIO test 1,2 end");
           
        }else if(3 == param2)
        {
            eat_trace("GPIO test 1,3 start");
           eat_gpio_setup(EAT_PIN3_GPIO1, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN4_STATUS, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN5_BPI_BUSI, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN20_COL0, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN21_COL3, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN22_COL2, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN23_ROW3, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN24_COL4, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN25_COL1, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN26_PWM, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN27_GPIO2, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN28_GPIO3, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN29_PCM_CLK, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN30_PCM_OUT, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN60_ROW1, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN61_ROW2, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN62_ROW0, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN63_ROW4 , EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN64_NETLIGHT, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN65_PCM_SYNC, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN66_PCM_IN, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN68_UART1_RI , EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN69_UART1_DTR, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN70_UART1_DCD, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN74_SCL , EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_gpio_setup(EAT_PIN75_SDA , EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);
           eat_trace("GPIO test 1,3 end");
           
           eat_trace("EAT_PIN3_GPIO1= %d",eat_gpio_read(EAT_PIN3_GPIO1));
           eat_trace("EAT_PIN4_STATUS= %d",eat_gpio_read(EAT_PIN4_STATUS));
           eat_trace("EAT_PIN5_BPI_BUSI= %d",eat_gpio_read(EAT_PIN5_BPI_BUSI));
           eat_trace("EAT_PIN20_COL0= %d",eat_gpio_read(EAT_PIN20_COL0));
           eat_trace("EAT_PIN21_COL3= %d",eat_gpio_read(EAT_PIN21_COL3));
           
           eat_trace("EAT_PIN22_COL2= %d",eat_gpio_read(EAT_PIN22_COL2));
           eat_trace("EAT_PIN23_ROW3= %d",eat_gpio_read(EAT_PIN23_ROW3));
           eat_trace("EAT_PIN24_COL4= %d",eat_gpio_read(EAT_PIN24_COL4));
           eat_trace("EAT_PIN25_COL1= %d",eat_gpio_read(EAT_PIN25_COL1));
           eat_trace("EAT_PIN26_PWM= %d",eat_gpio_read(EAT_PIN26_PWM));
           
           eat_trace("EAT_PIN27_GPIO2= %d",eat_gpio_read(EAT_PIN27_GPIO2));
           eat_trace("EAT_PIN28_GPIO3= %d",eat_gpio_read(EAT_PIN28_GPIO3));
           eat_trace("EAT_PIN29_PCM_CLK= %d",eat_gpio_read(EAT_PIN29_PCM_CLK));
           eat_trace("EAT_PIN30_PCM_OUT= %d",eat_gpio_read(EAT_PIN30_PCM_OUT));
           eat_trace("EAT_PIN60_ROW1= %d",eat_gpio_read(EAT_PIN60_ROW1));
           eat_trace("EAT_PIN61_ROW2= %d",eat_gpio_read(EAT_PIN61_ROW2));
           eat_trace("EAT_PIN62_ROW0= %d",eat_gpio_read(EAT_PIN62_ROW0));
           
           eat_trace("EAT_PIN63_ROW4= %d",eat_gpio_read(EAT_PIN63_ROW4 ));
           eat_trace("EAT_PIN64_NETLIGHT= %d",eat_gpio_read(EAT_PIN64_NETLIGHT));
           eat_trace("EAT_PIN65_PCM_SYNC= %d",eat_gpio_read(EAT_PIN65_PCM_SYNC));
           eat_trace("EAT_PIN66_PCM_IN= %d",eat_gpio_read(EAT_PIN66_PCM_IN));
           eat_trace("EAT_PIN68_UART1_RI= %d",eat_gpio_read(EAT_PIN68_UART1_RI) );
           
           eat_trace("EAT_PIN69_UART1_DTR= %d",eat_gpio_read(EAT_PIN69_UART1_DTR));
           eat_trace("EAT_PIN70_UART1_DCD= %d",eat_gpio_read(EAT_PIN70_UART1_DCD));
           eat_trace("EAT_PIN74_SCL= %d",eat_gpio_read(EAT_PIN74_SCL ));
           eat_trace("EAT_PIN75_SDA= %d",eat_gpio_read(EAT_PIN75_SDA ));
        }else if(4 == param2)
        {
            eat_pin_set_mode(EAT_PIN25_COL1, EAT_PIN_MODE_GPIO);
            eat_pin_set_mode(EAT_PIN22_COL2, EAT_PIN_MODE_GPIO);
            eat_pin_set_mode(EAT_PIN21_COL3, EAT_PIN_MODE_GPIO);
            eat_pin_set_mode(EAT_PIN24_COL4, EAT_PIN_MODE_GPIO);

            eat_gpio_setup(EAT_PIN25_COL1, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN22_COL2, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN21_COL3, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN24_COL4, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_LOW);

            eat_gpio_setup(EAT_PIN26_PWM, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_HIGH);

            eat_gpio_set_pull(EAT_PIN25_COL1, EAT_TRUE, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_set_pull(EAT_PIN22_COL2, EAT_TRUE, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_set_pull(EAT_PIN21_COL3, EAT_TRUE, EAT_GPIO_LEVEL_HIGH);
            eat_gpio_set_pull(EAT_PIN24_COL4, EAT_TRUE, EAT_GPIO_LEVEL_HIGH);

            eat_gpio_set_pull(EAT_PIN26_PWM, EAT_TRUE, EAT_GPIO_LEVEL_HIGH);
        }else if(5 == param2)
        {
            eat_gpio_setup(EAT_PIN25_COL1, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN22_COL2, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_LOW);
            eat_gpio_setup(EAT_PIN21_COL3, EAT_GPIO_DIR_INPUT, EAT_GPIO_LEVEL_LOW);
c草泥马
回复

使用道具 举报

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

本版积分规则

每日签到,有金币领取。


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表