stm32使用中,printf函数不执行的问题

发布者:TranquilVibes最新更新时间:2017-10-30 来源: eefocus关键字:STM32  printf函数 手机看文章 扫描二维码
随时随地手机看文章

一、程序中已经添加了printf的库函数

#include“stdio.h”

二、stm32串口通讯测试没问题,此处可以通过调用 USART_SendData(USART1, 0xAA)函数来进行验证;

三、现象。printf函数无法工作

四、解决办法,使用自带的迷你库,就可以正常运行。


关键字:STM32  printf函数 引用地址:stm32使用中,printf函数不执行的问题

上一篇:printf重定向到stm32串口
下一篇:stm32f105vc移植FreeRTOS小型操作系统

推荐阅读最新更新时间:2024-03-16 15:42

Event Recoder调试组件在stm32上的使用
本文目标:Event_Recoder调试组件在stm32上的使用 按照本文的描述,应该可以在你所处的硬件上跑通代码。 先决条件:装有编译和集成的开发环境,比如:Keil uVision5。 板子硬件要求:无,属于调试功能。 起源 因为做产品开发,设计东西有时候考虑得多,mcu的并没有多余的串口供使用调试,在调试一些初期进行验证时,必要的调试的打印信息是需要的。 Event Recoder调试组件简介 嵌入式的Event_Recoder调试组件是一种可以在MDK开发环境下使用的高级调试工具,它可以记录软件运行的一些标志信息,并以图形化的形式显示出来。它可以帮助你了解和分析内部操作,支持Keil RTX操作系统调试以及MDK自带的
[单片机]
Event Recoder调试组件在<font color='red'>stm32</font>上的使用
STM32-(24):PWM基础
PWM是Pulse Width Modulation的缩写,即脉冲宽度调制。其通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制,用来对一个具体模拟信号的电平进行编码。等效的实现是基于采样定理中的一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量即指窄脉冲的面积。这里所说的效果基本相同,是指该环节的输出响应波形基本相同。 如把各输出波形用傅里叶变换分析,则它们的低频段特性非常接近,仅在高频段略有差异。 为了实现a的效果,可以通过b这种正弦波去模拟达到这种效果。(通过每一段的面积相同
[单片机]
STM32-(24):PWM基础
使用Keil MDK运行第一个STM32程序
1.1.1 使用Keil MDK运行第一个STM32F10X程序 在上一小节中已经详细介绍了使用Keil MDK和标准外设库创建一个工程的过程,下面将介绍基于这个工程来编写一个小程序,通过这个程序我们可以初步了解: STM32标准外设库的简单使用过程 STM32外设的使用方法和大致流程 程序的编译、链接、下载步骤 利用Keil MDK的在线仿真功能进行软件仿真的简要步骤 1. 程序的编写 (1)程序实现的功能 为了方便各位读者的入门和理解,这个小程序的功能非常简单,作为本书功能实践的第一个程序,其功能当然也是最为经典的“Hello World!”了,只不过不是简单的屏幕输出,而是利用硬件的串口进行输出,同时作为单
[单片机]
使用Keil MDK运行第一个<font color='red'>STM32</font>程序
ST的优化代码协助设计人员开发STM32 MCU
中国,2014年5月5日 ——意法半导体新推出的STM32Snippets提供高度优化且立即可用的寄存器级代码段,以最大限度地发挥STM32微控制器应用设计的性能和能效。 寄存器级编程虽然可降低内存占用率,节省宝贵的处理器时钟周期,降低电源电流消耗,但通常需要设计人员花费很多时间精力研究产品手册。精简高效的程序能够提高应用性能并使其达到功耗和成本预设目标,STM32Snippets为开发人员编写这样的程序提供了一条捷径。 STM32Snippets集成在最近发布的可简化产品初始化和代码移植的STM32Cube™软件工具和嵌入式软件内。利用这些工具和软件,开发人员可在高度可移植的STM32Cube™方法与高度优化的
[单片机]
ST的优化代码协助设计人员开发<font color='red'>STM32</font> MCU
STM32 USART出现乱码
USART使用串口助手调试时出现乱码的情况,一般都是波特率的问题,例如:向串口发送“hello world\r\n”,但是串口助手收到的数据却是这样: 于是我仔细检查代码中设置的波特率的大小,发现没错,也是设置为115200,但是串口助手上显示的还是乱码。我再仔细检查与USART相关的代码,包括UASRT初始化、中断、以及发送数据的类型。。。,很绝望,还是没有找出这个BUG! 以下是我的UASRT相关设置代码: void Uart1_Init(void) { //GPIO端口设置 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStr
[单片机]
STM32的中断系统
STM32具有十分强大的中断系统,将中断分为了两个类型:内核异常和外部中断。并将所有中断通过一个表编排起来,下面是stm32中断向量表的部分内容: 上图-3到6这个区域被标黑了,这个区域就是内核异常。内核异常不能够被打断,不能被设置优先级(也就是说优先级是凌驾于外部中断之上的)。常见的内核异常有以下几种:复位(reset),不可屏蔽中断(NMI),硬错误(Hardfault),其他的也可以在表上找到。 从第7个开始,后面所有的中断都是外部中断。外部中断是我们必须学习掌握的知识,包含线中断,定时器中断,IIC,SPI等所有的外设中断,可配置优先级。外部中断的优先级分为两种:抢占优先级和响应优先级。 什么是抢占优先级?
[单片机]
<font color='red'>STM32</font>的中断系统
STM32-FSMC-NANDFLASH
STM32 FSMC 支持两个NAND闪存块,支持硬件ECC并可检测多达8K字节数据 其地址映射如下图所示 图161 FSMC存储块 NAND和PC卡地址映射 表88 存储器映像和时序寄存器  对于NAND闪存存储器,通用和属性空间又可以在低256K字节部分划分为3个区(见表89) ● 数据区(通用/属性空间的前64K字节区域) ● 命令区(通用/属性空间的第2个64K字节区域) ● 地址区(通用/属性空间的第2个128K字节区域) 表89 NAND存储块选择 应用软件使用这3个区访问NAND闪存存储器: ● 发送命令到NAND闪存存储器:软件只需对命令区的任意一个地址写入命令即可。 ● 指定操作NAND
[单片机]
STM32-FSMC-NANDFLASH
使用ITM机制实现调试stm32单片机
使用ITM机制实现调试stm32单片机,实现printf与scanf。 1. ITM简介 ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。 在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以很方便的调试程序。在嵌入式设备上(如stm32单片机平台上)开发工具(如MDK/IAR)也都提供了标准库函,自然也提供了printf/scanf函数,那么这些函数是否可以使用呢? 问题来了,printf向哪里输出呢?并且大部分情况下,也没有键盘,又
[单片机]
使用ITM机制实现调试<font color='red'>stm32</font>单片机
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved