#include "stm32f10x.h" 
void RCC_Configuration(void); 
void GPIO_Configuration(void); 
void USART_Configuration(u32 BaudRate); 
void SendData(void); 
 
 
int main(void) 
{ 
        RCC_Configuration(); 
        GPIO_Configuration(); 
        USART_Configuration(9600); 
        SendData(); 
} 
 
 
void RCC_Configuration() 
{ 
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO|RCC_APB2Periph_USART1,ENABLE); 
} 
 
 
void GPIO_Configuration() 
{ 
        GPIO_InitTypeDef GPIO_InitStructure; 
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; 
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6; 
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; 
        GPIO_Init(GPIOA,&GPIO_InitStructure); 
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; 
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8; 
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; 
        GPIO_Init(GPIOA,&GPIO_InitStructure); 
//GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE); 
         
} 
 
 
void USART_Configuration(u32 BaudRate) 
{ 
        USART_InitTypeDef USART_InitStructure; 
        USART_InitStructure.USART_BaudRate=BaudRate; 
        USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None; 
        USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx; 
        USART_InitStructure.USART_Parity=USART_Parity_No; 
        USART_InitStructure.USART_StopBits=USART_StopBits_1; 
        USART_InitStructure.USART_WordLength=USART_WordLength_9b;         
        USART_Init(USART1,&USART_InitStructure); 
        USART_Cmd(USART1,ENABLE); 
} 
 
 
void SendData() 
{ 
        u8 i,data; 
        data='A'; 
        for(i=0;i<8;i++) 
                { 
                        USART_SendData(USART1,data); 
                        data++; 
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);                 
                } 
}
 |