stm32库开发实例第一个例程中 led.c led.h 和main.c文件的关系
答案:2 悬赏:80 手机版
解决时间 2021-03-01 23:58
- 提问者网友:箛茗
- 2021-03-01 06:57
stm32库开发实例第一个例程中 led.c led.h 和main.c文件的关系
最佳答案
- 五星知识达人网友:迟山
- 2021-03-01 07:48
led.h相当于就是个声明函数,led.c和main都包含它就可以调用里面的函数,而led.c里面是对函数的定义!
全部回答
- 1楼网友:渡鹤影
- 2021-03-01 09:01
#include "stm32f10x.h"
#include "led.h"
#include "key.h"
int main(void)
{
configled();
configkey();
led1( on );
led2( on );
while (1)
{
if ( keyscan( gpioa, gpio_pin_0 ) == key_on )
{
gpio_writebit( gpiob, gpio_pin_0, (bitaction)(1 - gpio_readoutputdatabit( gpiob, gpio_pin_0 )));
}
if ( keyscan( gpioc, gpio_pin_13 ) == key_on )
{
gpio_writebit( gpioc, gpio_pin_4, (bitaction)(1 - gpio_readoutputdatabit( gpioc, gpio_pin_4 )));
}
}
}
#ifndef _led_h_
#define _led_h_
#include "stm32f10x.h"
#define on 0
#define off 1
#define led1(a) if (a) \
gpio_setbits( gpiob, gpio_pin_0 ); \
else \
gpio_resetbits( gpiob, gpio_pin_0 )
#define led2(a) if (a) \
gpio_setbits( gpioc, gpio_pin_4 ); \
else \
gpio_resetbits( gpioc, gpio_pin_4 )
#define led3(a) if (a) \
gpio_setbits( gpioc, gpio_pin_3 ); \
else \
gpio_resetbits( gpioc, gpio_pin_3 )
void configled(void);
#endif
#include "led.h"
void configled(void)
{
gpio_inittypedef gpio_initstruct;
rcc_apb2periphclockcmd( rcc_apb2periph_gpiob | rcc_apb2periph_gpioc, enable );
gpio_initstruct.gpio_pin = gpio_pin_0;
gpio_initstruct.gpio_mode = gpio_mode_out_pp;
gpio_initstruct.gpio_speed = gpio_speed_50mhz;
gpio_init ( gpiob, &gpio_initstruct );
gpio_initstruct.gpio_pin = gpio_pin_4 | gpio_pin_3;
gpio_init (gpioc, &gpio_initstruct );
gpio_setbits ( gpiob, gpio_pin_0 );
gpio_setbits ( gpioc, gpio_pin_4 | gpio_pin_3 );
}
/**
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯