stm32初学者必会操作----usart串口调试工具

不念不忘少年蓝@ 2023-03-12 07:30 130阅读 0赞

stm32初学者必会操作——usart串口调试工具

今天笔者介绍stm32初学者必会的工具 usart的串口设备。
usart很重要,可以传输数据,可以检查代码的错误位置,查看输出数据。
下图就是笔者的蓝牙串口
串口设备

下面来介绍串口使用的步骤

1. 首先是接线–笔者这里使用的是stm32f103rct6














USART1_RX TXD
USART1_TX RXD

串口用到是USART1 —PA9 、 PA10;

芯片与串口设备交错相连
注意:串口正负极不要接反。

PA8--

2. 然后就是编码

1.打开GPIOA 、USART1
  1. RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_USART1EN;
2.配置对应的GPIOA引脚,我们这里用的是PA9、PA10;

这里4:浮空输入。 b:复位推挽输出

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

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

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

直接上代码

下面展示一些 内联代码片

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stm32f10x.h>
  4. #include <string.h>
  5. int fputc(int ch, FILE *fp)
  6. {
  7. if (ch == '\n')
  8. fputc('\r', fp);
  9. USART1->DR = ch;
  10. while ((USART1->SR & USART_SR_TXE) == 0);//等待发送完毕
  11. return ch;
  12. }
  13. int main(void)
  14. {
  15. RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_USART1EN;
  16. GPIOA->CRH = (GPIOA->CRH & 0xfffff00f) | 0x4b0;
  17. USART1->BRR = SystemCoreClock / 115200;
  18. USART1->CR1 = USART_CR1_TE | USART_CR1_UE| USART_CR1_RE;
  19. while (1)
  20. {
  21. printf("hello world!\n");
  22. for(int i = 0 ; i < 20000; i++);
  23. }
  24. }

在这里插入图片描述
在这里插入图片描述
注意:如果是蓝牙串口输出时一定要注意输出的速度,如果太快了 将会导致电脑蓝牙崩溃,笔者崩了好多次,相关经验在博客中写出了

如果有什么问题尽管来博客私信: 点击.

发表评论

表情:
评论列表 (有 0 条评论,130人围观)

还没有评论,来说两句吧...

相关阅读

    相关 stm32 usart 串口

    比特率是每秒钟传输二进制代码的位数,单位是:位/秒(bps)。如每秒钟传送240个字符, 而每个字符格式包含10位(1个起始位、1个停止位、8个数据位),这时的比特率为: