STM32
佳大先生
这个作者很懒,什么都没留下…
展开
-
关于输出数组乱序和缺失问题
在做比赛项目时通过USART1输出数组里的元素,但显示出来的数组一直为乱序。最后发现问题所在,因为代码的执行速度很快,后发的新数据会将之前串口发送寄存器里的旧数据覆盖,导致打印出来的数据不全或为乱序。**解决方案:**在发送数据语句后面加上while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //等待发送数据寄存器为空...原创 2019-04-05 21:50:33 · 628 阅读 · 0 评论 -
串口读取数据显示不出来应该如何写中断函数
通过正常的中断函数可以知道,在void USART1_IRQHandler(void) //中断函数 { u8 Res;#if SYSTEM_SUPPORT_OS OSIntEnter(); #endif if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断,接受到...原创 2019-04-10 21:40:02 · 1387 阅读 · 0 评论 -
全局变量的值自动改变的解决办法
在写stm32代码时,定义了一个全局变量i,但是在串口中断赋值一次之后,进行显示i,结果发现i的值发生了变化,具体为什么这样我不是很清楚,也许是定义的变量被优化了,也许是其他原因。解决办法是:在定义变量的前面加上 volatile...原创 2019-04-12 14:33:52 · 11911 阅读 · 1 评论 -
继电器模块和L298N电机驱动模块的使用
单片机如何与L298N和继电器连接?什么时候选择L298N或继电器模块?L298N模块主控芯片为L298N的双H桥电机驱动模块,驱动电压为5~35V,一般驱动直流电机正反转一般使用L298N。接线引脚VCC:有12V端口和5V端口各一个。比如控制12V的直流电机,就将12V的电源正极接到12V引脚。GND:将电池的负极接到此引脚下,同时还要将单片机的GND也接到此引脚下,必须共地。EN...原创 2019-04-15 19:53:09 · 13156 阅读 · 3 评论 -
More than one section matches selector - cannot all be FIRST/LAST的解决方法(包含只有一个启动文件的解决方法)
在用keil编译工程的时候突然报错,出现这个错误可能是存在以下两种问题:问题一:此项目添加了多个启动问文件,例如:startup_stm32f103x_hd.s、startup_stm32f103x_md.s、startup_stm32f103x_ld.s等,如果项目存在多个启动文件,应该只保留对应芯片容量的启动文件。startup_stm32f10x_hd.s 大容量的STM32F101...原创 2019-05-22 12:00:50 · 6364 阅读 · 4 评论