datasheet

STM32F1xx单片机使用固件库时串口打印乱码的解决办法

2018-06-10来源: eefocus 关键字:STM32F1xx  单片机  固件库  串口打印  乱码

有时STM32F1系列单片机在配置完串口之后进行打印时,会出现打印乱码的问题,此时有可能是以下几种情况引起:

1. 串口工具所选择的波特率和单片机设置的波特率不一致,请认真排查波特率问题;

2. 串口的TX、RX管脚可能接触或焊接不好,请排查硬件问题;

3. 程序中使用的晶振频率值和外部实际使用的晶振值不一致,可按以下方法进行修改解决。

    根据外部晶振,若使用的是25M,那么将"stm32f10x.h" 做如下修改,(启动文件使用的是startup_stm32f10x_cl.s)就能解决问题。


关键字:STM32F1xx  单片机  固件库  串口打印  乱码

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/article_2018061039725.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32串口通信乱码详细处理方法
下一篇:STM32模拟串口输出偶有乱码

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32学习之:STM32F4XX的三大主体部分

; STM32F411时钟系统框图:时钟是整个系统的脉搏下图是STM32F411时钟系统的框图,通过这个图可以一目了然地看到各个部件时钟产生的路径,还可以很方便地计算出各部分的时钟频率。1在STM32F411中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。、HSI是高速内部时钟,RC振荡器,频率为8MHz。②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③、LSI是低速内部时钟,RC振荡器,频率为40kHz。④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍
发表于 2018-10-21

STM32F0xx 中断向量表重定义

在STM32F103等cortex-m3/m4内核的单片机上可以通过设置SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;该寄存器的值来实现中断向量表的重定义。但在STM32F0xx系列以cortex-m0为内核的单片机中却怎么也找不到这个设置中断向量表的寄存器,可以通过以下方法来实现中断向量表重定义。 基本思想:1、将中断向量表放入到RAM的起始地址(只需要在应用程序中保留RAM其实地址的0x100大小不使用即可)。2、在bootload中将应用程序的中断向量表从Flash中拷贝到SRAM中。3、复制STM32F0 中断向量表位于SRAM中具体实现代码如下: st
发表于 2018-10-15

STM32F4xx 取得摄像头数据并进行处理

  最近做的一个项目需要对摄像头采集到的数据进行简单的处理,我们用的MCU是Cortex-M4 F407系列的。关于STM32F4xx的视频处理,ST的官方给的例程是在显示屏上直接显示摄像头采集到的数据。经过了一番探索……根据官方的英文手册、网友们的无私分享和对各个例程的研究。今天终于搞定了将数据采集下来。   官方给的例程中,是通过DMA将数据直接输入到屏幕中的。DMA简单地说就是各个设备间自动倒腾内存的东西,转移数据的时候并不需要CPU干涉,减少了CPU的负担。由于所有的数据都不经过CPU进行干涉,如何获取其中的数据也是倒腾了一阵子。下面讲讲主要代码的配置:  在摄像头DCMI的配置中首先根据摄像头将各个管脚设置成
发表于 2018-09-20

使用stm32F10XX芯片开发的USB HID 双向通信

在STM32 ARM平台上实现USB与PC端得通信(IC为STM32F10XX系列)。本文提供一个例程(已测试通过),不用了解任何USB协议(当然了解USB相关协议或描述表的意义是很必要的),在此例程上,稍作修改,即可开展你的项目或学习或进行产品开发。在ST中我们可以获得了USB相关的一个HID例程,但是官方例子中只是用到2个端点。数据只收不发。本例程中,用到了3个USB端点,实现PC上位机与下位机见双向通信。EP0为控制端点(必须的,这是因为系统默认端点0作为控制传输端点),EP1为INTERRUPT OUT端点(数据输出端,即PC向MCU发送数据段),EP2为INTERRUPT OUT端点(数据输入端,即MCU向PC发送数据
发表于 2018-09-17

STM32F10X_XX宏定义的选择及含义

;devices */   #endif     至于要使用哪个宏,则需要根据具体的芯片来进行选择。如果是STM32F105xx和STM32F107xx,是Connectivity Line Devices,则宏定义选择的是STM32F10X_CL;如果是别的型号,则根据FLASH的容量来进行选择。可能文字写的有点不太清楚,还是以表格来说明:宏MCU 型号FLASH大小STM32F10X_LDSTM32F101xxSTM32F102xxSTM32F103xx16 ~ 32
发表于 2018-09-11

MCU STM8L051F3xx EEPROM 操作笔记

MCU: STM8L051F3xxEEPROM Address: 0x00 1000 ~ 0x00 10FF, 256 Bytes操作简明说明: EEPROM在上电复位后是写保护的,在向其中写入数据时,需要解锁,关闭写保护.解锁流程为:1. 第一次向FLASH_DUKR写入密钥0xAE2. 第二次向FLASH_DUKR写入密钥0x56两次都写入正确后,写保护功能被关闭,可以对EEPROM区域进行写操作.解锁成功后,FLASH_IAPSR_DUL 位会被置位,在写完密钥后,可以读取DUL位来判断有没有解锁成功.特别注意:在向EEPROM写数据时,单片机内部会产生高压对EEPROM写操作,如果这个时候被中断打断,会造成
发表于 2018-09-08

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">