STM32F429ZGT6 学习笔记

编程入门 行业动态 更新时间:2024-10-07 01:26:56

STM32F429ZGT6 <a href=https://www.elefans.com/category/jswz/34/1770117.html style=学习笔记"/>

STM32F429ZGT6 学习笔记

STM32F429ZGT6 学习笔记

  • 1.串口通信乱码(时钟配置有问题)
  • 2.重映射printf函数

1.串口通信乱码(时钟配置有问题)

在使用过程中发现,配置的中断优先级和system_stm32f4xx.c中的HSE时钟仍然还是乱码

#if !defined  (HSE_VALUE) #define HSE_VALUE    ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */
#endif /* HSE_VALUE */#if !defined  (HSI_VALUE)#define HSI_VALUE    ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/
#endif /* HSI_VALUE */

后面发现在stm32f4xx_hal_conf.h中会再次配置HSE,故导致系统时钟配置不对

#if !defined  (HSE_VALUE) #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */

在将以上两个HSE_VALUE都配置后时钟正确,通信正常

2.重映射printf函数

#pragma import(__use_no_semihosting)             
//标准库需要的支持函数                 
struct __FILE 
{ int handle; 
}; FILE __stdout;       
//定义_sys_exit()以避免使用半主机模式    
void _sys_exit(int x) 
{ x = x; 
} 
//重定义fputc函数 
int fputc(int ch, FILE *f)
{ 	while((UART7->SR&0X40)==0);//循环发送,直到发送完毕   UART7->DR = (uint8_t) ch;      return ch;
}

更多推荐

STM32F429ZGT6 学习笔记

本文发布于:2024-02-27 16:12:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1707305.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:学习笔记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!