STM32F103VET6多串口调试

公司最近在做一个STM32的项目,需要同时使用STM32的3个usart口和2个uart口。
一、知识准备
(1)芯片具体型号,我调试的是 STM32F103VET6
(2)芯片使用的晶振是多少兆,常用的有8MHz、12MHz、25MHz,我调试的是8MHz外部晶振
(3)端口对应管脚
二、基础代码编写
1、时钟设置
(1)初始化系统时钟,选择时钟源(内、外部时钟),设置各条总线的时钟源及频率
(2)打开对应外设时钟,usart1和其它几个串口不在同一条时钟总线上
(3)打开对应串口管脚所在总线时钟
2、串口GPIO口设置
3、串口基本参数设置(波特率、校验位、停止位等)
4、串口中断优先级设置(抢占优先级和子优先级)
5、编写串口中断服务函数
三、调试程序
写完一个串口,调试一个串口。不要全写完最后调试。在调试过程中usart1工作正常,其它串口输出乱码。
问题分析:
(1)波特率出现问题
1)波特率配置出现问题
2)时钟配置出现问题
反复检查时钟和波特率配置并没有问题,然后下班了。第二天到公司突然意识的TTL和232电平的区别。一般的USB转串口线出来的是232电平,后来我换用USB转TTL电平输出数据成功。

PS:
(1)232电平是-3— -15V代表逻辑“0”,3-15V代表逻辑“1”
(2)TTL电平是0-5V区间。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值