STM 32入门踩坑笔记——

Posted 若你遇见她

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM 32入门踩坑笔记——相关的知识,希望对你有一定的参考价值。

STM 32入门踩坑笔记——(1)

大家好,鄙人从今天也开始了STM32的学习旅程。当然作为小白的我肯定会遇到很多问题,所以利用该品台记录我遇到的问题。可以帮助自己更好的学习、也为后续学习STM32的兄弟姐妹们提供帮助。第一次使用,该文本编辑器不太熟悉,若有不当之处,还望大家多多包涵。如果在我今后的文章里有解释错误的情况。欢迎大家指正,小弟在此先谢过了。

跑马灯烧录代码后、没反应

我在跟着正点原子的跑马灯库函数讲解视屏敲了代码后。编译是没问题的,但是烧录后板子没反应。哈哈,这个问题我也没找到是什么原因。大概率还是代码有点问题。我将正点原子的源码main函数复制后,就能运行了。但是由于忘记备份我自己敲的代码,所以后面没办法仔细对比代码了。

解决办法:复制示例代码

定义变量后报错

在搞定板子无法运行后,我对main函数增加了一点东西。就让他有两种亮灯模式。故需要用到一个变量来转换模式。我便定义了 :int q = 1;如图
图片:

在这里插入图片描述哈哈,讲道理。代码肯定是没有问题的。但是还是报错了。当时是报错有7个错误。当时我都傻了。还好,万能的度娘和STM32的前辈们已经搞定了这个问题。
解决方案:打开魔法棒c/c++栏,勾选c99 mode一栏。在这里插入图片描述

但是(各位大哥轻点喷)。在写该文章时,我本来想打算为大家截一个报错图片的。结果我取消上面的勾选后,唉!!编译它又不报错了。。。属实有点无奈。当然其实勾选c99那个的原目的是“解决变量使用只能在声明之后的问题”。也就是勾选后,变量就可以在声明前使用。(c语言老师看到估计想打我,哈哈)。哦!对了。既然使用了大佬的方法,肯定的奉上连接。(主要是我这文章没啥用,当个传送门吧!哈哈)
https://my.oschina.net/u/4344027/blog/3393490

我最后的main函数代码也挂上吧!
内联代码片

#include "stm32f10x.h"
#include  "led.h"
#include "delay.h"

int main(void)
{
 
delay_init();              //时钟的初始化
led_Init();                //led初始化
	
int q = 1;

	while(1)
	{
		if(q>10)           //模式2,两灯一起闪烁
		{		
			GPIO_SetBits(GPIOB,GPIO_Pin_5);
			GPIO_SetBits(GPIOE,GPIO_Pin_5);         //将两GPIO置为高电平
			
			delay_ms(500);
			
			GPIO_ResetBits(GPIOB,GPIO_Pin_5);
			GPIO_ResetBits(GPIOE,GPIO_Pin_5);         //将两GPIO置为低电平
			delay_ms(500);
		}
		
		if(q<10)      //模式1,两灯交替闪烁
		{		
			GPIO_SetBits(GPIOB,GPIO_Pin_5);
			GPIO_ResetBits(GPIOE,GPIO_Pin_5);         //B为高电平,E为低电平

			delay_ms(500);
			
			GPIO_SetBits(GPIOE,GPIO_Pin_5);         
			GPIO_ResetBits(GPIOB,GPIO_Pin_5);        //B为低电平,E为高电平
			delay_ms(500);
		}
			
		q++;

	}

}

好了!划水的第一篇文章就到这里了。我就继续去知识的海洋里面畅游了。
等等!!!最后一句,哈哈!

“年少不平千般事,白鬓何来万重名”
原创句子哦!(说好的一句呢??,溜了溜了)

以上是关于STM 32入门踩坑笔记——的主要内容,如果未能解决你的问题,请参考以下文章

STM32入门踩坑笔记——USART1_IRQHandler的重复定义

STM32入门踩坑笔记——USART1_IRQHandler的重复定义

STM32入门踩坑笔记——关于STLINK下载器的

STM32入门踩坑笔记——关于STLINK下载器的

STM32F411RE和L610物联网入门学习笔记

STM32入门笔记——GPIO的初始化