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的重复定义