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

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

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

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

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

解决办法:复制示例代码

定义变量后报错

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

STM 32入门踩坑笔记——(1)_第1张图片哈哈,讲道理。代码肯定是没有问题的。但是还是报错了。当时是报错有7个错误。当时我都傻了。还好,万能的度娘和STM32的前辈们已经搞定了这个问题。
解决方案:打开魔法棒c/c++栏,勾选c99 mode一栏。STM 32入门踩坑笔记——(1)_第2张图片

但是(各位大哥轻点喷)。在写该文章时,我本来想打算为大家截一个报错图片的。结果我取消上面的勾选后,唉!!编译它又不报错了。。。属实有点无奈。当然其实勾选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入门踩坑笔记——(1))