装载  自  http://bbs.21ic.com/icview-860453-1-1.html

配置串口,利用printf函数输出字符,结果输出的还是ASCII码,这是为什么?难道是我的配置问题?
串口配置是没有问题的,那个printf的配置是在网上找的资料,就不清楚了。。

  1. #include "stm32f4xx.h"
  2. #include <stdio.h>
  3. void OpenCom(void)
  4. {
  5. USART_InitTypeDef USART_InitStructure;
  6. NVIC_InitTypeDef NVIC_InitStructure;
  7. GPIO_InitTypeDef GPIO_InitStructure;
  8. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
  9. RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
  10. GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);
  11. GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);
  12. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10;
  13. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  14. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  15. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  16. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  17. GPIO_Init(GPIOA, &GPIO_InitStructure);
  18. USART_InitStructure.USART_BaudRate = BaudRate;
  19. USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  20. USART_InitStructure.USART_StopBits = USART_StopBits_1;
  21. USART_InitStructure.USART_Parity = USART_Parity_No;
  22. USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  23. USART_InitStructure.USART_Mode = USART_Mode_Rx|USART_Mode_Tx;
  24. USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
  25. USART_Init(USART1, &USART_InitStructure);        /* USART configuration */
  26. USART_Cmd(USART1, ENABLE); /* Enable USART */
  27. USART_ClearFlag(USART1, USART_FLAG_TC);
  28. NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;
  29. NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
  30. NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
  31. NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
  32. NVIC_Init(&NVIC_InitStructure);
  33. }
  34. int main(void)
  35. {
  36. unsigned char i='a';
  37. OpenCom();
  38. printf("%c\r\n",i);
  39. }
  40. int fputc(int ch,FILE *f)
  41. {
  42. USART_SendData(USART1,(unsigned char)ch);
  43. while(!(USART1->SR&USART_FLAG_TXE));
  44. return (ch);
  45. }

复制代码

F407 中printf 的实现的更多相关文章

  1. linux 中printf的使用

    linux 中printf的使用printf "helloworld\n"printf 中换行必须加上\n printf '%d %s\n' 1 "abc" c ...

  2. ruby中printf "%x"%-4为何会打印开头..

    先看一下ruby中printf "%x" % -4的返回结果: irb(main):134:0> printf "%x\n" % -4 ..fc 前面的. ...

  3. 单片机中printf函数的重映射

    单片机中printf函数的重映射 一.源自于:大侠有话说 1.如果你在学习单片机之前学过C语言,那么一定知道printf这个函数.它最最好用的功能 除了打印你想要的字符到屏幕上外,还能把数字进行格式化 ...

  4. 本地方法中printf如何传给java--java系统级命名管道

    本地方法中printf如何传给java--java系统级命名管道 摘自:https://blog.csdn.net/dog250/article/details/6007301 2010年11月13日 ...

  5. linux shell 中 printf 与 echo的区别

         echo echo是非常常用的shell命令.参数如下: -e:打开反斜杠字符backslash-escaped的解析,即对/n,/t等字符进行解析,而不视之为两个字符 -E:关闭反斜杠字符 ...

  6. linux编程中printf显示不加换行的缓冲问题

    最近在编写linux网络编程时,总是遇到这样的事,程序逻辑没错误,但是程序运行到某个地方就停在那里了,后来才发现在prinrf()中加入换行能正常运行了,如“ printf("123&quo ...

  7. Linux中printf格式化输出

    printf使用文本或者由空格分隔的参数,我们可以在printf中使用格式化字符串.printf不会写像echo那样自动添加换行符,必须手动添加 =========================== ...

  8. java中printf中用法详解

    目前printf支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s 字符串 %u 无符号十进制数 %x 十六进制数 %% 输出百分号% printf的格式控制的 ...

  9. java 中 printf()语句的理解

    对print和println的理解很简单,今天突然接触到printf(),有点懵,整理了下也帮自己理一理 printf是格式化输出的形式 下在举个例子: package other; public c ...

  10. C编程中printf不加'\n'不输出

    有时,使用printf("a=%d",a);并不一定会输出显示,只有当在格式化输出时加上'\n'才能输出,如printf("a=%d\n",a); 由于unix ...

随机推荐

  1. nginx代理静态页面添加二级目录

    location /wash { # root html; alias /home/cxq/wash-html/dist; index index.html index.htm; try_files ...

  2. access vba实现OLE对象保存到本地

    参考oletodisk的实现方法,更新为在64位office上野可以运行,函数模块代码如下: 1 Option Compare Database 2 Option Explicit 3 4 5 'DE ...

  3. SQL 查询强化 - 数据准备

    最近要搞新的项目了, 我的 BI 报表这块, 我感觉, 可能又要写sql, 对于一些简单的 查询, 表连接我还应付得来, 如果涉及多个表的, 什么子查询嵌套, 自定义函数, 加上控制流...就感觉就不 ...

  4. TVMC python:一种TVM的高级API

    Step 0: Imports from tvm.driver import tvmc Step 1: Load a model 下载模型: wget https://github.com/onnx/ ...

  5. Python内置库itertools简单学习

    该库为满足特定需要的比较高效的迭代器内置库,在数据科学中的应用也不少,故有必要了解一下: import itertools import sys 无限迭代器(Infinite iterators) I ...

  6. C#/.NET/.NET Core技术前沿周刊 | 第 39 期(2025年5.19-5.25)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  7. 【异常总结】SeaTunnel集群脑裂配置优化方法

    集群配置 项目 描述 数量 3台 规格 阿里云ECS 16C64G Slot模式 静态50个 ST内存配置 -Xms32g -Xmx32g -XX:MaxMetaspaceSize=8g 异常问题 4 ...

  8. Spring Boot MyBatis使用type-aliases-package自定义类别名

    摘要:介绍MyBatis 中 type-aliases-package 属性的作用.在Spring Boot项目中,使用属性type-aliases-package为MyBatis引用的实体类自定义别 ...

  9. 浅谈Java异常处理机制

    前言   在 Java 中,异常被当作对象来处理,所有的异常都有一个共同的祖先java.lang.Throwable类.Throwable有两个重要的子类Exception(异常) 和 Error(错 ...

  10. elasticsearch RestHighLevelClient 关于document的常用操作 ---------- 新增篇

    es中的新增操作分类两大类:普通新增和批量新增 普通新增使用IndexRequest即可 批量新增使用BulkRequest通过循环的方式将数据进行统一装载最后执行bulk操作 普通新增: //es单 ...