一.printf重定向简介 我们知道C语言中printf函数默认输出设备是显示器,如果要实现在 串口或者LCD上显示,必须重定义标准库函数里调用的与输出设备相关的函数.比如使用printf输出到串口,需要将fputc里面的输出指向串口, 这一过程就叫重定向. 那么如何让STM32使用printf函数呢? int fputc(int ch,FILE *p) //函数默认的,在使用printf函数时自动调用 { USART_SendData(USART1,(u8)ch); while(USART_G…
1 在main中包含stdio.h 文件 2 Target选项框里选Use MicroLib 选项 3 在main中添加UART1_Configuration()初始化的代码 Uart1初始化,void UART1_Configuration(void){          USART_InitTypeDef USART_InitStructure;        USART_ClockInitTypeDef  USART_ClockInitStructure;                R…
本文是学习网络上的文章时的总结,感谢大家无私的分享. System.out.printf()方法能够对日期做处理输出. 相应列表 转换符 类型 举例 c 完整的日期和时间 Mon Feb 09 18:05:11 PST 2004 F ISO 8061日期 2004-02-09 D 美国格式的日期 02/09/2004 T 24小时时间 18:03:23 r 12小时时间 05:03:23 pm R 24小时时间没有秒 18:05 Y 4位数字的年(前面补0) 2004 y 年的后两位数字(前面补…
在调试过程中往往需要通过打印来看系统运行状态:在STM32平台上,打印重定向有多种实现方案:其一是编译时使用keil自带的MacroLIB,据说这个库对一些C语言基础设施做了新的实现,代码结构更加紧凑:但这种库没法取得源码,所以就不能进一步研究具体怎么实现的,很遗憾:还有一种实现方案是使用标准C(I/O)库,但这种方式下要注意修改避免使用semihosting(半主机模式),下面对两种方案做以简单说明. 方案一 使用mcrolib库: 1.首先在option里边勾选mcrolib 2.重写put…
重定向符大概有6,7种,和%符号差不多各有各的用途.这里学习>和>> >  是左边的值把右边的值覆盖 >> 是左边的值添加在右边的值上面 rem 是批处理的注释,类似 //..  rem还可以用::代替 @echo off rem >是覆盖 echo context > b.txt rem >>是在后面添加 echo context >> c.txt pause 运行结果: c.txt的info...是本来就有的信息.而现在后面增加了…
学习STM32过程中,经常打交道的莫过于串口,你可以将任何信息,当然重要的是调试信息打印到串口中输出,总是用一个字节发送函数或者字符串发送函数 总是有些不放便,之前编程中熟悉的莫过于printf了,下面就给出了用printf打印到串口的方案,当然方案不止一个,仅供参考.    1. 添加printf的头文件   #include <stdio.h> 2.重写int fputc(int ch, FILE *f)函数  int fputc(int ch, FILE *f); 函数    int f…
printf函数调用fputc int fputc(int ch, FILE *p) { USART_SendData(USART1, ch); //重定向到串口 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); return ch; } 在KEIL中使用printf要勾选"微库"…
软硬件下载程序和程序运行的相关问题和解决方案,以我自身买的STM32F103C8T6为例 (1) 硬件需要 1. 购买一个STM32F103XXX的板子.这是一个操作实践性非常强的一个学习过程,如果没有实物的构件,即使学习的再好,记忆力非常好,到真正实际用的时候也会出现各式各样的问题,所以必须要有自己的板子. STM32F103C8T6实物图 2. 需要一个USB转TTL的模块板.这个是程序下载到STM32F103的一个必须硬件要求,有些开发板自带转换端口,可以忽略这步. 转换模块 3. 一根安…
一.GPIO基本结构 二.GPIO工作模式 输入模式 输入浮空 输入上拉 输入下拉 模拟输入 输出模式 开漏输出 开漏复用功能 推挽式输出 推挽式复用功能 库函数中所对应的代码 1 typedef enum 2 { 3 GPIO_Mode_AIN = 0x0, /* 模拟输入 */ 4 GPIO_Mode_IN_FLOATING = 0x04, /* 浮空输入,复位后的状态 */ 5 GPIO_Mode_IPD = 0x28, /* 下拉输入,这里的下拉是指单片机内部的电阻 */ 6 GPIO_…
一.输入捕获介绍 在定时器中断实验章节中我们介绍了通用定时器具有多种功能,输入捕获就是其中一种.STM32F1 除了基本定时器 TIM6 和 TIM7,其他定时器都具有输入捕获功能.输入捕获可以对输入的信号的上升沿,下降沿或者双边沿进行捕获,通常用于测量输入信号的脉宽.测量 PWM 输入信号的频率及占空比. 输入捕获的工作原理比较简单,在输入捕获模式下,当相应的 ICx 信号检测到跳变沿后,将使用捕获/比较寄存器(TIMx_CCRx)来锁存计数器的值.简单的说就是通过检测 TIMx_CHx 上的…