历史上的今天
返回首页

历史上的今天

今天是:2024年08月28日(星期三)

正在发生

2019年08月28日 | STM32F103VET6多串口调试

2019-08-28 来源:eefocus

公司最近在做一个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区间。



推荐阅读

史海拾趣

GTE Microcircuits公司的发展小趣事
复合放大器在长时间工作后性能下降的原因可能包括元件老化(如电阻、电容值的变化)、温度漂移、以及电源波动等。为了缓解这些问题,可以定期校准电路、使用温度稳定性好的元件、以及加强电源的稳定性和滤波。
ADMOS公司的发展小趣事

面对不断变化的市场需求和技术趋势,ADMOS公司始终保持着对创新的热情和追求。公司投入大量资源用于研发新的技术和产品,不断推出具有创新性和竞争力的产品。这些创新成果不仅提升了ADMOS在市场上的竞争力,也为公司的未来发展指明了方向。

ALLTHREAD公司的发展小趣事

面对日益激烈的市场竞争,ALLTHREAD意识到必须不断提升生产效率和质量。于是,他们开始引入先进的自动化设备和智能化生产技术,对生产线进行全面升级。通过技术升级,ALLTHREAD的生产效率得到了大幅提升,产品质量也更加稳定可靠。

Artaflex公司的发展小趣事

随着电子行业的快速发展,市场竞争日益激烈。为了保持领先地位,Artaflex公司积极寻求与其他企业的技术合作。通过与一家知名半导体公司的合作,双方共同研发了一款新型芯片,不仅提升了产品的性能,还降低了生产成本。这一合作不仅增强了Artaflex的技术实力,也为其打开了更广阔的市场空间。

CONEC公司的发展小趣事

为了进一步提升公司的竞争力和市场影响力,CONEC开始了国际化布局。1990年,康耐加拿大公司的成立,标志着公司迈出了国际化的重要一步。随后,CONEC在德国、捷克共和国、美国和波兰等地设立分公司或生产基地,形成了全球性的生产和销售网络。同时,公司还积极寻求与全球领先的电子企业和技术机构的战略合作,共同推动电子行业的发展。

Dialog Semiconductor(戴乐格半导体)公司的发展小趣事

Dialog Semiconductor一直专注于能源管理领域,致力于提供高效的电源管理解决方案。公司推出了多种高效的电源管理芯片,这些芯片能够显著延长电池寿命并提高设备效率。特别是在移动设备领域,Dialog Semiconductor的电源管理芯片被广泛应用于智能手机、平板电脑等设备中,为用户提供了更长的使用时间和更好的使用体验。

问答坊 | AI 解惑

典型的嵌入式系统组成

嵌入式系统是专用计算机应用系统,它具有一般计算机组成的共性,也是由硬件和软件组成。 图1-1完整地描述了嵌入式系统的软硬件各部分的组成结构。 字串8 2.1 嵌入式系统的硬件基本结构 嵌入式系统的硬件架构如图1-1下半部分所示,是以嵌入 ...…

查看全部问答>

大家能把你写的闹钟程序让我参考吗?我这个不知道怎么没用。

本帖最后由 paulhyde 于 2014-9-15 09:39 编辑 主要在闹钟调节和显示上出现了问题。  …

查看全部问答>

ARM7的I/O口问题

我用的是三星44B0 1、 假如一个I/O口如G口被设置成输出,同时在G口上又外接着3.3v的电压,那么G口的数据寄存器 PDATG始终是高电平吗? 这里我很不解,G口已经被设置成输出,那么就是CPU往数据寄存器PDATG上写 数据然后输出去,但是这外接的3.3V ...…

查看全部问答>

keil c51 的问题

我在用keil c51编辑c程序中 在一个项目中新建了两个文件 一个是C51a.c 一个是C51b.c 我在C51b.c中include \"C51a.c\"; 这样就没问题了 如果把C51a.c改成C51a.h这样keil C51就找不到这个文件了 找到了也加不上 请问大侠这是怎么回事啊? …

查看全部问答>

招驱动开发方面的兼职人员

本公司现在招驱动开发方面书籍的作者 待遇丰厚 有兴趣的可以和我联系  进行详谈 QQ878298915 Email pyq_1985@163.com…

查看全部问答>

求教 arm板 串口接GSM模块

问题请教:ARM板串口接GSM模块  ARM板和GSM模块都是母头   是不是买根两头都是公头的线就行了 ?我买了条 GSM接不到数据  是不是线有问题? 是需要交叉线么?…

查看全部问答>

请教usb发送完成检测

用st的usb库,但不知道如何检测发送完成?现在我用 while(GetEPTxStatus(ENDP1) != EP_TX_NAK); 但有些情况这个判断不行,现在只能在发送后加延时来解决。特向大家请教如何直接来判断?…

查看全部问答>

LQFP208 SOT459-1 封装库

跪求,不胜感激!wzpstudy@126.com…

查看全部问答>

条码基本术语诚昱条形码

 / 2011-11-25   条码 bar code由一组规则排列的条、空及其对应字符组成的标记,用以表示一定的信息。条码系统 bar code system由条码符号设计、制作及扫描阅读组成的自动识别系统。条 bar条码中反射率较低的部分 ...…

查看全部问答>