stm32初學者必會操作----usart串口調試工具

stm32初學者必會操作----usart串口調試工具

今天筆者介紹stm32初學者必會的工具 usart的串口設備。
usart很重要,可以傳輸數據,可以檢查代碼的錯誤位置,查看輸出數據。
下圖就是筆者的藍牙串口
串口設備

下面來介紹串口使用的步驟

1. 首先是接線–筆者這裏使用的是stm32f103rct6

USART1_RX TXD
USART1_TX RXD

串口用到是USART1 —PA9 、 PA10;

芯片與串口設備交錯相連
注意:串口正負極不要接反。

PA8--

2. 然後就是編碼

1.打開GPIOA 、USART1
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_USART1EN;
2.配置對應的GPIOA引腳,我們這裏用的是PA9、PA10;

這裏4:浮空輸入。 b:復位推輓輸出

GPIOA->CRH = (GPIOA->CRH & 0xfffff000) | 0x4b0;
3. USART1配置
USART1->BRR = SystemCoreClock / 115200;//此爲波特率,要看您的串口設備
USART1->CR1 = USART_CR1_TE | USART_CR1_UE | USART_CR1_RE;

注意:如果是APB1ENR 的波特率要改爲:SystemCoreClock/2/115200;

4. 輸出
USART1->DR = '1';

直接上代碼

下面展示一些 內聯代碼片

#include <stdio.h>
#include <stdlib.h>
#include <stm32f10x.h>
#include <string.h>

int fputc(int ch, FILE *fp)
{
	if (ch == '\n')
		fputc('\r', fp);
	
	USART1->DR = ch;
	while ((USART1->SR & USART_SR_TXE) == 0);//等待發送完畢
	return ch;
}

int main(void)
{
	RCC->APB2ENR |= RCC_APB2ENR_IOPAEN |  RCC_APB2ENR_USART1EN;
	
	GPIOA->CRH = (GPIOA->CRH & 0xfffff00f) | 0x4b0;
	
	USART1->BRR = SystemCoreClock / 115200;
	USART1->CR1 = USART_CR1_TE | USART_CR1_UE| USART_CR1_RE;

	while (1)
	{
		printf("hello world!\n");
		for(int i = 0 ; i < 20000; i++);
	}
}

在這裏插入圖片描述
在這裏插入圖片描述
注意:如果是藍牙串口輸出時一定要注意輸出的速度,如果太快了 將會導致電腦藍牙崩潰,筆者崩了好多次,相關經驗在博客中寫出了

如果有什麼問題儘管來博客私信: 點擊.

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