打印

关于stm32复用功能问题

[复制链接]
423|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
请教,管脚开启复用功能后能否再对其复位置位?代码里面是用了置位,但是我测量无论置位复位电平是不变的static void LCD_GPIO_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
   
    /* Enable the FSMC Clock */
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
   
    /* config lcd gpio clock base on FSMC */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE , ENABLE);
   
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   
    /* config tft back_light gpio base on the PT4101 */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;   
    GPIO_Init(GPIOD, &GPIO_InitStructure);
   
    /* config tft rst gpio */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 ;   
    GPIO_Init(GPIOE, &GPIO_InitStructure);         
   
    /* config tft data lines base on FSMC
   * data lines,FSMC-D0~D15: PD 14 15 0 1,PE 7 8 9 10 11 12 13 14 15,PD 8 9 10
   */  
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
   
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 |
                                  GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15;
    GPIO_Init(GPIOD, &GPIO_InitStructure);
   
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |
                                  GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 |
                                  GPIO_Pin_15;
    GPIO_Init(GPIOE, &GPIO_InitStructure);
   
    /* config tft control lines base on FSMC
   * PD4-FSMC_NOE  :LCD-RD
   * PD5-FSMC_NWE  :LCD-WR
   * PD7-FSMC_NE1  :LCD-CS
   * PD11-FSMC_A16 :LCD-DC
   */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
    GPIO_Init(GPIOD, &GPIO_InitStructure);
   
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
    GPIO_Init(GPIOD, &GPIO_InitStructure);
   
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
    GPIO_Init(GPIOD, &GPIO_InitStructure);  
   
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 ;
    GPIO_Init(GPIOD, &GPIO_InitStructure);  
   
    /* tft control gpio init */   
    GPIO_SetBits(GPIOD, GPIO_Pin_13);     // LIGHT  
    GPIO_ResetBits(GPIOE, GPIO_Pin_1);   //  RST = 1   
    GPIO_SetBits(GPIOD, GPIO_Pin_4);     // RD = 1  
    GPIO_SetBits(GPIOD, GPIO_Pin_5);     // WR = 1
    GPIO_SetBits(GPIOD, GPIO_Pin_7);     //  CS = 1
   
    GPIO_ResetBits(GPIOD, GPIO_Pin_3);
    GPIO_SetBits(GPIOD, GPIO_Pin_6);
}

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

384

主题

384

帖子

0

粉丝