STM32L0+STM32CubeIDE避坑指南

2 篇文章 0 订阅
2 篇文章 0 订阅

SYSTICK Timer

IDE无法直接生成使用HCLK/8作为时钟的SYSTICK

IDE时钟树配置截图

即使在这里配置Cortex System Timer为HCLK/8也无法改变生成出的工程使用的SYSTICK时钟,在调用HAL_Init->HAL_InitTick->HAL_SYSTICK_Config->SysTick_Config(一层一层解析)时,SysTick_Config默认配置为HCLK时钟。

UART & printf()

首先简单介绍下,ST Link v2.1连接上会提供虚拟U盘和虚拟串口功能,STMicroelectronics STLink Virtual COM Port可以连接串口助手当普通串口使用,即烧录、调试和串口打印一根USB线全搞定(STNB!)。
虚拟串口
其次,STMIDE中基于HDL库实现printf重定义方法:在IDE生成的usart.c文件中加入如下代码段,但我个人遇到了串口一段时间毫无反应,突然一段时间正常的现象,在修改了延时并重新烧录了几次后神奇的又正常了(所以遇到这个现象不要紧张)。

/* USER CODE BEGIN 1 */
#ifdef __GNUC__

#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

PUTCHAR_PROTOTYPE
{
  HAL_UART_Transmit(&huart2, (uint8_t*)&ch, 1, HAL_MAX_DELAY);
  return ch;
}
#endif
/* USER CODE END 1 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值