![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32F4
stm32f4系列开发经验
zichenla
这个作者很懒,什么都没留下…
展开
-
STM32读写内部flash注意点
STM32读写内部flash注意点先说注意点怎么写怎么读的总结先说注意点1、写之前的第一步是要先解锁flash,解锁后最好清除下所有的flag,然后是擦除操作,然后是写,最后写完加锁保护flash。写有个写双字库函数(FLASH_ProgramDoubleWord)不能用,因为没有外部Vpp,怎么才有外部Vpp看点3。2、flash擦除的最小单位是扇区。3、flash擦除操作正常情况下使用电压使用VoltageRange_3就行,只所以不使用VoltageRange_4如下:VoltageRang原创 2021-03-03 17:05:15 · 1536 阅读 · 1 评论 -
stm32 串口RX上拉还是浮空
根据个人实际开发经验,串口RX引脚能上拉就上上拉,如果配置成浮空时会存在一定收到杂乱数据情况。这个问题困扰了一下午就是找不出为何我是串口1发数据,串口2却能收到类似的数据,他们之间明明没有任何关系。找了一下午最终发现因为杜邦线浮空加上RX为浮空输入导致的问题,改成上拉成功解决问题。所以啊还是得自己做PCB,避免使用杜邦线。...原创 2021-01-15 17:55:14 · 5885 阅读 · 0 评论 -
解决STM32串口丢失第一个字符
在使用STM32串口时可能会发现一个问题就是发送字符串时第一个字符缺失情况。解决办法在发送字符串前加入以下代码:if(!(USART1->SR&USART_FLAG_TC)){ USART_ClearFlag(USART1_COM,USART_FLAG_TC); }// ...发送代码原因分析首先,看以下出现这种问题的代码void usart2TxString(uint8_t *str,uint8_t length){ uint8_t index = 0;原创 2021-01-10 16:36:06 · 2482 阅读 · 2 评论 -
充分了解STM32F407硬件\内部I2C(主模式)
STM32F4硬件\内部I2C驱动(主模式)此篇文章将带领你理解并学习STM32F4硬件\内部的I2C主模式去驱动slave I2C设备基础知识I2C模式I2C通信流程I2C地址I2C起始位与停止位使用STM32F407系列硬件/内部I2C首先我们先看主发送单字节发送多字节发送然后我们看主接收单字节读取两字节读取多字节读取代码设计写数据写字节代码写多字节代码读/接收数据读/接收字节代码读/接收两字节代码读/接收多字节代码参阅此篇文章将带领你理解并学习STM32F4硬件\内部的I2C主模式去驱动slave原创 2020-05-11 13:17:04 · 2842 阅读 · 2 评论 -
STM32F4外部中断设置
基础知识1、外部中断/事件框架: STM32F407一共有16+7条中断/事件线(如下图),也就是说在STM32工作过程中同时支持22条外部中断/事件。从上图也可以看出,所有的GPIO口都可以当作外部中断/事件源。但是同时只能有16条位于不同的GPIO口上的中断/事件源。2、中断/事件源配置: 选择EXIT0-16中断/事件线的中断/事件源在相应的SYSCFG_EXTICRx寄存器里配置。如配置EXIT0-3中断/事件线的源寄存器为下图:3、中断与事件: 在这里我们需要辨识以下中断与事件的区别:原创 2020-05-09 21:24:41 · 2671 阅读 · 1 评论 -
利用STM32F4系列基本定时器写延时程序
STM32F4系列基本定时器TIM6 TIM7前言必须了解定时器时钟频率影子寄存器代码设计参考前言在一些需要的情况下软件延时十分必要,有时为了测试方便大都直接用了while(–i)或者for循环大致延时下看看就可以了。当需要精确延时情况下一般需要定时器来定时,当然对于STM32系列单片机都有SysTick,一般都是用这个作为延时定时器。这两天突然想着用个基本定时器实现一个延时程序,想着几十分钟...原创 2020-05-04 13:44:22 · 3685 阅读 · 0 评论