![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stm32
gcrisis
把一个东西做精通
展开
-
stm32串口HAL库的DMA发送问题
本文使用stm32f411ret的串口1的DMA方式发送数据,刚开始调试的时候发现串口只能发送一次数据,之后就把系统hang住了。通过网上搜资料和不断尝试,发现问题是中断回调函数没有写的原因。使用HAL库的DMA,需要同时实现DMA中断回调函数和串口中断回调函数。void DMA2_Stream7_IRQHandler(void){ HAL_DMA_IRQHandler(Uar...原创 2018-08-01 00:09:57 · 7615 阅读 · 0 评论 -
stm32的gpio模拟iic小记
在用stm32的模拟iic读取mpu6050时发现读whoami寄存器为0xd1,而正确的值应该为0x68,导致这个问题基本上有以下几个原因: 1、如果是杜邦线连接,线太长且线质量不好会导致这个问题; 2、上拉电阻不合适,上拉电阻不合适的话会导致iic两根线上的波形不好; 3、gpio的输出模式不对,推挽输出可以改为浮空输出。 4、波形不好 解决办...原创 2018-06-24 10:29:15 · 2148 阅读 · 0 评论 -
stm32的HAL库i2c从机实现
stm32的i2c默认就是slave模式,本文基于HAL库实现中断方式的接收和发送,首先是初始化gpio和i2c,代码如下:I2C_HandleTypeDef I2cHandle;void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle){ GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC...原创 2018-08-30 21:34:30 · 19294 阅读 · 5 评论