一些mcu使用过程踩过的坑

一、传感器

1.使用mpu6050 dmp库时,需要定期读取数据,太久没读取会造成读取不正确(不知道什么问题,使用过程中发现的bug?)

二、MCU

1.stm32

1)stm32g431通过cubemx生成的工程默认开启FPU

2)在配置dma时,一定要注意内存和外设长度,在配置stm32g431使用dma方式输出pwm时,参考的教程的tim是16位,忘记g431 tim2是32位,导致设置完成后不能正常输出波形

把外设程度改为word后,pwm输出正常

3)stm32高级定时器tim1中央对齐pwm,pwm频率为:定时器时钟频率/分频系数/pwm频率/2,不需要减一

如下图,定时器时钟频率为170MHz, 170000000/1/20000/2=4250

如果同时使能定时器更新中断,产生一个pwm波的同时会产生两次中断,所以将重复计数寄存器设为1,定时器每更新两次产生一个中断

4)使用stm32g431cbu6是,要将PB6映射为硬件IIC引脚,但是PB6默认为BOOT0引脚,将次引脚拉高将导致单片机不能正常启动,需要通过Option Bytes将该引脚设为普通IO功能。

具体操作(工具:STM32 ST-LINK Utility)

①Target->connect

②Target->Option Bytes

③取消勾选nSWBOOT0位

④Apply

重启单片机即可正常启动,同时PB8可作为普通IO使用

2.esp32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白天才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值