#include "stm8s.h"
void Init_Clock(void)
{
/* Select fCPU = 16MHz */
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
CLK_CCOCmd(DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1, ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART2, ENABLE);
}
void Init_UART1(void)
{
UART1_DeInit();
UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
UART1_Cmd(ENABLE);
}
void main(void)
{
Init_Clock() ;
Init_UART1() ;
GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_SLOW);//tx
GPIO_Init(GPIOF, GPIO_PIN_4, GPIO_MODE_IN_FL_NO_IT);//rx
while (1)
{
unsigned char bit_low,bit_high ;
bit_low++ ;
if(bit_low>200)
{
bit_high++ ;
bit_low = 0 ;
}
else ;
if(bit_high>200) {
while(UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET) ;
{
// UART1->CR2=0x00;//a处
// UART1->CR2|=0x08;//b处
UART1_SendData8(0xB6);;//要发送的数据
// }
UART1->SR &=~ 0x40 ;
while((UART1->SR & 0x40) ==0);//发送是否完成
}
bit_high = 0 ;
}
}
while (1);
|