#include "stm8s.h"
void UART_Init();
void GPIO_Configuration(void)
{
GPIO_DeInit(GPIOB);
GPIO_Init(GPIOB,
GPIO_PIN_0,
GPIO_MODE_OUT_PP_HIGH_FAST);
}
void UART_Init()
{
UART2_DeInit();
UART2_Init(9600 ,
UART2_WORDLENGTH_8D,
UART2_STOPBITS_1 ,
UART2_PARITY_NO,
UART2_SYNCMODE_CLOCK_DISABLE,
UART2_MODE_TXRX_ENABLE);
UART2_ITConfig(UART2_IT_RXNE,ENABLE);
UART2_Cmd( ENABLE);
enableInterrupts();
}
void main()
{
UART_Init();
GPIO_Configuration();
while(1)
{
}
}
#pragma vector=23
__interrupt void EXIT_UART2_IRQHander(void)
{
UART2_ClearITPendingBit(UART2_IT_RXNE);
if(0x30 <= UART2_ReceiveData8() && UART2_ReceiveData8()<= 0x39)
{
GPIO_WriteLow(GPIOB, GPIO_PIN_0);
}
if((0x41<=UART2_ReceiveData8()&&UART2_ReceiveData8()<= 0x5A)||(0x61<=UART2_ReceiveData8()&&UART2_ReceiveData8()<= 0x7A))
{
GPIO_WriteHigh(GPIOB, GPIO_PIN_0);
}
}
|