你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 181|回复: 0

[STM32F429] 求救 新建工程串口log都打不出来

[复制链接]

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
2020-9-27
发表于 2020-9-22 20:03:51 | 显示全部楼层 |阅读模式
STM32F429新建一个工程。但是串口log都没有打出来,不知道开没有开机呢!
main.h


#define USART_LOG                        USART3
#define USART_LOG_CLK_ENABLE()              __HAL_RCC_USART3_CLK_ENABLE()
#define USART_LOG_RX_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOB_CLK_ENABLE()
#define USART_LOG_TX_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOB_CLK_ENABLE()

#define USART_LOG_FORCE_RESET()             __HAL_RCC_USART3_FORCE_RESET()
#define USART_LOG_RELEASE_RESET()           __HAL_RCC_USART3_RELEASE_RESET()

/* Definition for USART_LOG Pins */
#define USART_LOG_TX_PIN                    GPIO_PIN_10
#define USART_LOG_TX_GPIO_PORT              GPIOB  
#define USART_LOG_TX_AF                     GPIO_AF7_USART3
#define USART_LOG_RX_PIN                    GPIO_PIN_11
#define USART_LOG_RX_GPIO_PORT              GPIOB
#define USART_LOG_RX_AF                     GPIO_AF7_USART3

/* Definition for USART_LOG's NVIC */
#define USART_LOG_IRQn                      USART3_IRQn
#define USART_LOG_IRQHandler                USART3_IRQHandler


main.c

static void Init_USART_Log_GPIO(void)
{
    Uart_Log.Instance = USART3;
    Uart_Log.Init.BaudRate = 115200;
    Uart_Log.Init.WordLength = UART_WORDLENGTH_8B;
    Uart_Log.Init.StopBits = UART_STOPBITS_1;
    Uart_Log.Init.Parity = UART_PARITY_NONE;
    Uart_Log.Init.Mode = UART_MODE_TX_RX;
    Uart_Log.Init.HwFlowCtl = UART_HWCONTROL_NONE;
    Uart_Log.Init.OverSampling = UART_OVERSAMPLING_16;

    if(HAL_UART_Init(&Uart_Log) != HAL_OK)
    {
        _Error_Handler(__FILE__, __LINE__);
    }

    /* USART3_IRQn interrupt configuration */
    //HAL_NVIC_SetPriority(USART_LOG_IRQn, 5, 0);
    //HAL_NVIC_EnableIRQ(USART_LOG_IRQn);
}


#ifdef __GNUC__
/* With GCC, small printf (option LD Linker->Libraries->Small printf
   set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */


PUTCHAR_PROTOTYPE
{
  /* Place your implementation of fputc here */
  /* e.g. write a character to the USART3 and Loop until the end of transmission */
  HAL_UART_Transmit(&Uart_Log, (uint8_t *)&ch, 1, 0xFFFF);

  return ch;
}



stm32f4xx_hal_msp.c

void HAL_UART_MspInit(UART_HandleTypeDef *huart)
{  
  GPIO_InitTypeDef  GPIO_InitStruct;

  /*##-1- Enable peripherals and GPIO Clocks #################################*/
  /* Enable GPIO TX/RX clock */
  USART_LOG_TX_GPIO_CLK_ENABLE();
  USART_LOG_RX_GPIO_CLK_ENABLE();
  /* Enable USART1 clock */
  USART_LOG_CLK_ENABLE();

  /*##-2- Configure peripheral GPIO ##########################################*/  
  /* UART TX GPIO pin configuration  */
  GPIO_InitStruct.Pin       = USART_LOG_TX_PIN;
  GPIO_InitStruct.Mode      = GPIO_MODE_AF_PP;
  GPIO_InitStruct.Pull      = GPIO_NOPULL;
  GPIO_InitStruct.Speed     = GPIO_SPEED_FAST;
  GPIO_InitStruct.Alternate = USART_LOG_TX_AF;

  HAL_GPIO_Init(USART_LOG_TX_GPIO_PORT, &GPIO_InitStruct);

  /* UART RX GPIO pin configuration  */
  GPIO_InitStruct.Pin = USART_LOG_RX_PIN;
  GPIO_InitStruct.Alternate = USART_LOG_RX_AF;

  HAL_GPIO_Init(USART_LOG_RX_GPIO_PORT, &GPIO_InitStruct);

  /*##-3- Configure the NVIC for UART ########################################*/
  /* NVIC for USART1 */
  HAL_NVIC_SetPriority(USART_LOG_IRQn, 0, 1);
  HAL_NVIC_EnableIRQ(USART_LOG_IRQn);
}



请大神指点一二,有与新人没有币,有酬必报。
回复

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版