今天做按键的实验。青风的源码中按键的引脚定义似乎有错,和开发板原理图中的不一致。
正确的引脚定义应该是:
#define KEY3_PIN GPIO_PIN_3
#define KEY2_PIN GPIO_PIN_4
#define KEY1_PIN GPIO_PIN_0
#define KEY3_PORT GPIOE
#define KEY2_PORT GPIOE
#define KEY1_PORT GPIOI
我编写的main主函数代码:
#include "stm8s.h"
#include "stm8s_clk.h"
#include "led.h"
#include "key.h"
int main(void)
{
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); //设置时钟
LED_Init();
KEY_Init();
LED1_Close();
LED2_Close();
LED3_Close();
while(1)
{
if( KEY_Down(KEY1_PORT,KEY1_PIN)==0)
LED1_Toggle();
if( KEY_Down(KEY2_PORT,KEY2_PIN)==0)
LED2_Toggle();
if( KEY_Down(KEY3_PORT,KEY3_PIN)==0)
LED3_Toggle();
}
}