装载  自  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. Jmeter参数化总结

    参数化步骤: 1.连接数据库 2.获取account表手机号数据 3.获取手机号个数 4.增加For Each控制器 5.将请求添加至循环控制器里面 脚本:循环登录.jmx 页面如下: 下面主要说明F ...

  2. 🎀截图工具推荐-Snipaste

    简介 Snipaste 是一款非常强大且免费的截图和屏幕标记工具,由一位来自中国的开发者开发.它以其简洁的界面和丰富的功能而受到广泛好评. 官网 https://zh.snipaste.com/ Sn ...

  3. 解决React Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, ... useEffect cleanup function.

    在写react程序时遇到警告: Warning: Can't perform a React state update on an unmounted component. This is a no- ...

  4. php -S命令开启一个纯php的web服务、命令行直接运行php代码

    php -S ip:port 命令可以开启一个纯php的web服务,如: php -S 127.0.0.1:8080 #  ip指定为localhost也是可以的 tips:端口号必填,服务的根目录即 ...

  5. WPF初学者的一点迷思

    1.WPF只是前端!前端!前端!看了两天的视频,跟着敲了三个项目,自己写了一个小demo之后,从gitee上下了一个别的的框架之后才整明白,WPF只是前端.或者说只是把原本winfrom的界面+事件+ ...

  6. python-docx styles(样式)的用法

    doc=Document()#创建一个空白文档 p=doc.add_paragraph()#给文档增加一个段落 p.paragraph_format.space_before=Pt(0)#设置段落 段 ...

  7. 揭秘AI自动化框架Browser-use(三):Browser-use控制浏览器的核心机制

    1. 概述 在Browser-use框架中,核心任务是使大模型能够像人类一样操作浏览器.本文深入探讨大模型如何实际控制浏览器,重点解析从模型输出到浏览器动作执行的完整流程. 上一篇(公众号首发)-Br ...

  8. P4516 [JSOI2018] 潜入行动 题解

    题意: 给定一棵无根树,要求给树上 \(k\) 个点标记,使得所有点都至少与一个被标记的点相邻.(注意自己被标记不代表与标记相邻) 思路 考虑树形DP. 套路地设 \(f_{u,i,0/1,0/1}\ ...

  9. MySQL高可用之PXC

    1.PXC简介 参考Percona官方https://www.percona.com/software/mysql-database/percona-xtradb-cluster   PXC(Perc ...

  10. OpenPPL的执行流程与类间关系UML表达

    上一讲,对OpenPPL进行了介绍,以及通过官方文档,学习了它的python与C++的操作流程,以及如添加新的引擎与Op算子. 本节,将通过阅读代码通过UML梳理操作流程以及类之间的相互关系 src地 ...