STM32學習第七天--串口調試助手沒弄懂

版權聲明:本文爲博主原創文章,轉載註明出處。 https://blog.csdn.net/Adrian_1/article/details/50121155

啊啊 啊..今天真的好沮喪。調代碼足足調了一晚上,不知道什麼原因工程就是錯,最後好不容易啊,在主函數加了個#include "stm32f10x_lib.h"就好使了,真不知道爲什麼。然後隨即而來的又是一通打擊,什麼破串口調試助手啊,就是不給我出字啊,simulator都正確的額,到你那裏就不正確,什麼鬼啊。今天收穫甚少,不開心啊.....我這一看時候不早了。。只好明天到實驗室再弄一弄了

#include "stm32f10x_lib.h"

void Delay_MS(u16 dly)  
{  
    u16 i, j;  
    for (i = 0; i < dly; i++)  
        for (j = 1000; j > 0; j--)  
            ;  
} 

void RCC_Configuration(void);
void GPIO_Configuration(void);
void USART3_Configuration(void);
u8 tab[] = {"Flaergwe very sad today !!!"};
u8 i;
int main()
{
	RCC_Configuration();
	GPIO_Configuration();
	USART3_Configuration();
	for (i = 0; tab[i]; i++)
	{
		USART_SendData(USART3, tab[i]);
		Delay_MS(100);
	}
}
void RCC_Configuration()
{
	RCC_DeInit();
	RCC_HSEConfig(RCC_HSE_ON);
	while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);
	
	FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
	FLASH_SetLatency(FLASH_Latency_2);
	
	RCC_HCLKConfig(RCC_SYSCLK_Div1);
	RCC_PCLK2Config(RCC_HCLK_Div1);
	RCC_PCLK1Config(RCC_HCLK_Div2);
	RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
	RCC_PLLCmd(ENABLE);
	
	while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
	RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
	while (RCC_GetSYSCLKSource() != 0x08);
}

void GPIO_Configuration()
{
	GPIO_InitTypeDef	GPIO_InitStructure;
	
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
	
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
	GPIO_Init(GPIOD, &GPIO_InitStructure);
	
	GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);
}

void USART3_Configuration()
{
	USART_InitTypeDef U3;
	U3.USART_BaudRate = 9600;
	U3.USART_WordLength = USART_WordLength_8b;
	U3.USART_StopBits = USART_StopBits_1;
	U3.USART_Parity = USART_Parity_No;
	U3.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
	U3.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
	
	USART_Init(USART3, &U3);
	
	USART_Cmd(USART3, ENABLE);
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章