初学STM32CUBE的坑

1. 如果使能了独立看门狗,默认时间是4*4096/ 40K = 0.4s, 一不留神就会复位

2. 如果此时把MX_IWDG_Init注释掉,由于hiwdg还未初始化,所以不能在主循环中使用HAL_IWDG_Refresh(&hiwdg),会出现HardFault

3. 如果配置了DMA,默认是开中断的(而且还关不掉)。但是在GENERATE CODE时,可以勾选不生成中断代码(窃以为会把中断关掉)。此时悲剧了,会不断的B. , 因为没有中断处理函数

4. 配置了通用定时器,以为会使能。测试发现,必须手工增加HAL_TIM_Base_Start_IT(&htim4);

5. 如果使用SWD调试口的话,务必在IO口配置上,否则生成的代码会禁止掉SWD

 

目前遗留问题:

1. 在使用DMA驱动UART时,看参考代码都是开UART中断的,目前还没有测试是否可以关闭UART中断。我认为是可以的。因为DMA会直接读取UART的寄存器去完成收发,不依赖于中断。看贴子,也是可以的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值