记stm32库函数点亮跑马灯(跟视频学的)

编译过后,魔术棒,output,在Browse information处打勾,这样才能双击函数然后go to definition(查看定义)

重要函数:

1.初始化函数

2.读取输入函数

3.读取输出函数

4.输出电平函数

 

写函数:

1.使能io时钟(rcc函数下)

2.初始化io模式,调用GPIO_Init

3.操作io口,输出高低电平

setbits/resetbits

 

 

正片开始:

1.复制新建工程模板到桌面

2.打开工程之后,右键template,新建project item(hardware)

3.在hardware下面再建立文件夹led

4.在led文件内新建2个文本(led.h和led.c)

5.为了避免头文件内容重复定义,在led.h下面预编译(头文件内一般写函数声明或者宏定义)

6.由于要把文本引用到工程中,所以需要添加进去(右键template,manage project item)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNTc3MTkyMzk=,size_20,color_FFFFFF,t_70,g_se,x_16

 按add files,然后把led.c添加进去再close就好了。

7.设置把头文件的路径:

魔术棒,选c/c++,选择include path的...,

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNTc3MTkyMzk=,size_20,color_FFFFFF,t_70,g_se,x_16

 这样子就添加好hardware的LED路径了

 

即:

led.h

 

 

#ifnedf  LED_H(名字可任意)

#define LED_H

void LED_Init(void);

 

# endif(结尾)

 

 

 

led.c

# include“led.h”

#include“stm32f10x.h”//任何库函数都要引用的

void LED_Init(void);

{

设置使能函数GPIOB和GPIOE的使能时钟,即打开GPIOB和GPIOE

GPIO_Init TypeDef GPIO_InitStructure;//定义这个东西

GPIO_InitStructure. GPIO_Mode=推挽输出;

GPIO_InitStructure. GPIO_Pin= Pin5;

GPIO_InitStructure. GPIO_Speed=GPIO_Speed_50MHZ;

GPIO_Init(GPIOB,& InitStructure);//在gpio.h下面找GPIO_Init,复制过来,然后双击右键查找参数,就是找要写啥(这里有用到指针的相关知识),然后本例里,需要设置gpiob,并且需要在上方先定义。以上四行指令代表:把GPIOB的5设置为推挽输出,速度为50兆

复制粘贴上面四行代码,把B改为E,就设置好了GPIOE了。

GPIO_SetBits( GPIOB,GPIO_PIN5);//就是把io口设置为高电平,这里是GPIOB的pin5

GPIO_SetBits( GPIOE,GPIO_PIN5);

}

 

 

 

主函数:

main.c

{

# include“stm32f10x.h”

# include“led.h”

# include“delay.h”//调用函数

int main(void)

delay_init();

LED_Init();

While(1)//定义一个死循环,让灯明灭交替

{

GPIO_SetBits( GPIOB,GPIO_PIN5);

GPIO_SetBits( GPIOE,GPIO_PIN5);

delay_ms(500);//以上三行代码是把GPIOB和GPIOE的pin5设置为高电平,然后延迟500ms。

GPIO_ResetBits( GPIOB,GPIO_PIN5);

GPIO_ResetBits( GPIOB,GPIO_PIN5);

delay_ms(500);//以上三行代码是把GPIOB和GPIOE的pin5设置为低电平,然后延迟500ms。

}

至此,代码全部搞定。

打开FlyMcu,把代码下载到stm32里面去。

1.选中空闲串口,波特率设置为460800(暂时不知道这个是干嘛的)

2.选中BOJ下的工程,点击开始编程即可。

}

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值