请问STM32F03的GPIO_Mode_AF_OD模式怎么设置

2019-07-14 13:44发布

         STM32做读卡程序,需要支持7816接口,USART1的TX 怎么设GPIO_Mode_AF_OD模式呢?
以前是这样完成的,在103上,但现在没有定义这个了,只GPIO_Mode_AF
/* Configure USART3 Tx (PB.10) as alternate function open-drain */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
maruidiyi
2019-07-15 02:49
 GPIO_InitTypeDef  GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;
               
        RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA, ENABLE);   // 使能GPIOB端口
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); // 使能串口1时钟
               
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_1);       
/////////////////////////////////////////////////////////////////////////////////////       
        /*
        *  USART1_TX -> PA9 , USART1_RX ->        PA10
        */                               
        GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_9|GPIO_Pin_10;                
        GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
/////////////////////////////////////////////////////////////////////////////////////
          
        USART_InitStructure.USART_BaudRate = 9600;                                    //设置串口波特率
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;                //设置数据位
        USART_InitStructure.USART_StopBits = USART_StopBits_1;                         //设置停止位
        USART_InitStructure.USART_Parity = USART_Parity_No;                            //设置效验位
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//设置流控制
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;                //设置工作模式
        USART_Init(USART1, &USART_InitStructure);     //串口配置
       
        USART_ITConfig(USART1, USART_IT_RXNE,ENABLE);    //打开中断   
               
        USART_Cmd(USART1, ENABLE);//使能串口1
 
给你一个最全的,试试,F0的串口配置代码

一周热门 更多>