st8开发板的UART1我演示不出来,tx没有波形

随心所欲007   2010-1-22 08:40 楼主
void main(void)
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD, (GPIO_PIN_0 | GPIO_PIN_2 | GPIO_PIN_3), GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOD, GPIO_PIN_5, GPIO_MODE_OUT_OD_HIZ_FAST);
UART1_DeInit();
UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
UART1_Cmd(ENABLE);
  while (1)
  {
GPIO_WriteReverse(GPIOD, (GPIO_PIN_0 | GPIO_PIN_2 | GPIO_PIN_3));
  
  UART1_SendData8(55);
    while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET)
   {}
    while (UART1_GetFlagStatus(UART1_FLAG_RXNE) == RESET)
   {}
  RxBuffer1[1] = UART1_ReceiveData8();
  }
  
}

回复评论 (6)

                                 请版主帮忙看看
点赞  2010-1-22 08:40
查查硬件是否用的是UART1?
系统时钟也没配置
点赞  2010-1-22 14:52
                                 LS说得没错,STM8的外设也需要使能外设时钟后才能使用,这点上面跟STM32类似。
点赞  2010-1-22 16:38
                                 是没看到楼主使能外设时钟
点赞  2010-1-22 20:30
CLK_PeripheralClockConfig(CLK_PERIPHERAL_LINUART, 1);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_USART, 1);
点赞  2010-1-22 23:27
是这两个吗
CLK_PeripheralClockConfig(CLK_PERIPHERAL_LINUART, 1);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_USART, 1);
在别的函数里加过了
点赞  2010-1-22 23:28
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复