编译过后,魔术棒,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)
按add files,然后把led.c添加进去再close就好了。
7.设置把头文件的路径:
魔术棒,选c/c++,选择include path的...,
这样子就添加好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下的工程,点击开始编程即可。
}