dong_j_t

    1. usart1 remap 5/7979 stm32/stm8 2011-05-09
      我单步跟踪运行时发现发送数据时 USART_SR寄存器的TC标志 被置1 这是不是表明数据已经通过usart1发送出去了?
    2. usart1 remap 5/7979 stm32/stm8 2011-05-09
      void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct) 的入口参数COM == COM2(值为1,对应usart1) 函数中如果COM == COM2则执行 /* Enable the USART1 Pins */     GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);//重重映射usart1     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能remap后的Tx(PB6) 和 Rx(PB7)管脚时钟    RCC_APB2PeriphClockCmd(COM_USART_CLK[COM], ENABLE);//使能USART1时钟(COM_USART_CLK[COM2] 对应 RCC_APB2Periph_USART1) COM_RX_PORT[COM2]和COM_TX_PORT[COM2]都是GPIOB (应为remap后Tx为PB6 和 Rx为PB7) COM_USART[COM2]为USART1
    3. usart1 remap 5/7979 stm32/stm8 2011-05-09
      //define 对应映射后的usart1 #define EVAL_COM2_STR                                            "USART1" #define EVAL_COM2                                                     USART1 #define EVAL_COM2_CLK                                            RCC_APB2Periph_USART1 #define EVAL_COM2_TX_PIN                                       GPIO_Pin_6 #define EVAL_COM2_TX_GPIO_PORT                        GPIOB #define EVAL_COM2_TX_GPIO_CLK                           RCC_APB2Periph_GPIOA #define EVAL_COM2_RX_PIN                                       GPIO_Pin_7 #define EVAL_COM2_RX_GPIO_PORT                        GPIOB #define EVAL_COM2_RX_GPIO_CLK                           RCC_APB2Periph_GPIOA #define EVAL_COM2_IRQn                                           USART1_IRQn void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct) {   GPIO_InitTypeDef GPIO_InitStructure;   /* Enable GPIO clock */   RCC_APB2PeriphClockCmd(COM_TX_PORT_CLK[COM] | COM_RX_PORT_CLK[COM] | RCC_APB2Periph_AFIO, ENABLE);   if (COM == COM1)   {     /* Enable the USART2 Pins Software Remapping */     GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);     RCC_APB1PeriphClockCmd(COM_USART_CLK[COM], ENABLE);   }   else                                                                          //com == com2   {     /* Enable the USART1 Pins */     GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);//自己增加 重映射usart1     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //开usart1映射后io口时钟PB( Tx PB6 , Rx  PB7)         RCC_APB2PeriphClockCmd(COM_USART_CLK[COM], ENABLE);   }   /* Configure USART Tx as alternate function push-pull */   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;   GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM];   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure);   /* Configure USART Rx as input floating */   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;   GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM];   GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure);   /* USART configuration */   USART_Init(COM_USART[COM], USART_InitStruct);       /* Enable USART */   USART_Cmd(COM_USART[COM], ENABLE); } 时钟开了的~ [ 本帖最后由 dong_j_t 于 2011-5-9 13:39 编辑 ]

最近访客

< 1/1 >

统计信息

已有60人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:3

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言