请问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条回答
zaichenxi
2019-07-15 16:13
 也就通过GPIO_CRH设置成0xFB
即:10:复用功能推挽输出模式
       11:复用功能开漏输出模式
 
MODE:11:输出模式,最大速度50MHz
 
GPIO_TypeDef* 定义的寄存器变了,
程序如下:
RCC_APB1PeriphClockCmd(SC_USART_CLK, ENABLE);       
         /* Configure USART1 CK(PA8) as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin = SC_USART_PIN_CK;    //PA8
  GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_AF;//GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_Init(SC_USART_GPIO, &GPIO_InitStructure);
  redata[1]=GPIOA->AFR[1];
  /* Configure USART1 Tx (PA9) as alternate function open-drain */
  GPIO_InitStructure.GPIO_Pin = SC_USART_PIN_TX;  //PA9
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //GPIO_Mode_AF_OD
        GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; 
 
  GPIO_Init(SC_USART_GPIO, &GPIO_InitStructure);
        //redata[1]=GPIOA->AFR[1];
  /* Connect PXx to USARTx_Tx */ 
       GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_1);  //¸´Óù¦ÄÜ
        GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_1); 
但一直没收到数据。
如果有F0的寄存器的说明就好了。
 
 
 

一周热门 更多>