Red de conocimiento informático - Material del sitio web - Sistema integrado basado en STM32: Programación para controlar luces LED con 2 botones Presione el botón1 y el LED1 se volteará; presione el botón2 y el LED2 se volteará.

Sistema integrado basado en STM32: Programación para controlar luces LED con 2 botones Presione el botón1 y el LED1 se volteará; presione el botón2 y el LED2 se volteará.

No sé por qué el texto chino se vuelve confuso después de copiarlo, por lo que la captura de pantalla se usa como referencia y el código se adjunta al final: #include?"sys.h"

#include?"usart. h"

#include?"delay.h"

#include?"led.h"?

#include?"key.h"?

//°?üí

//·°?üֵ

//mode:0,§? °?;1,?§?°?;

//·ֵ?

//0?ûκ?°?ü°

//KEY0_PRES ?KEY0°

/ /KEY1_PRES?KEY1°

//WKUP_PRES?WK_UP°

//×˺?ìuddleȼ?,KEY0>KEY1>WK_UP? !!

u8? KEY_Scan(u8?mode)

{ ?

static?u8?key_up=1;//°?ü°?ɿ? ±ê־

if (mode)key_up=1;?/?§°?

if(key_up&&(KEY0==0||KEY1==0||WK_UP ==1))

{

delay_ms(10);//ȥ?

key_up=0;

if(KEY0 ==0)retorno?KEY0_PRES;

más?if(KEY1==0)retorno?KEY1_PRES;

más?if(WK_UP==1)retorno?WKUP_PRES;?

}else?if( KEY0==1&&KEY1==1&&WK_UP==0)key_up=1; ?

return?0;//°?ü°

}

int ?main(void)

{ ?

vu8?t; ?

Stm32_Clock_Init(9);? //ϵͳ?±è?

delay_init(72);? //±?ʼ

LED_Init(); °?üɵ?  0; //LED

while(1)

{

t=KEY_Scan( 0 ///?õ?üֵ

cambiar(t)

{ ?

caso?KEY0_PRES:

LED0=! LED0;

romper;

caso?KEY1_PRES:

LED1=!LED1;

rotura;

caso?WKUP_PRES:

LED0=!LED0 ;

LED1=!LED1;

pausa;

predeterminado:

delay_ms(10); }?

} ?

}