主要解决 vs2017中,printf无法打印数据的问题。

在keil环境下正常使用printf功能,但是以下的重定向代码在vs2017下使用不了:

#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/**
* @brief Retargets the C library printf function to the USART.
* @param None
* @retval None
*/
PUTCHAR_PROTOTYPE {
/* Place your implementation of fputc here */
/* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, , 0xFFFF);
return ch;
}

vs2017中将以下代码添加入,不需要添加上述在keil中的代码了:

int _write (int fd, char *ptr, int len)
{
HAL_UART_Transmit(&huart1, (uint8_t*) ptr, len, 0xFFFF);
return len;
}
int _read (int fd, char *ptr, int len)
{
*ptr = 0x00; // Flush the character buffer
HAL_UART_Receive(&huart1, (uint8_t*) ptr, , 0xFFFF);
return ;
}

--------------------------------------------------------------------------

开发板:正点原子的stm32f407ZGT6

调试器:JLINK

使用软件:cubemx,visual studio 2017

个人源码如下:

链接:https://pan.baidu.com/s/1MDLE0TCcdZxTgvOvqYduVA

密码:vfg7

参考以下网址:

http://www.stm32cube.com/question/668

基于visual studio 2017 以及cubemx 搭建stm32的开发环境(2)的更多相关文章

  1. 基于visual studio 2017 以及cubemx 搭建stm32的开发环境(0)

    (1)安装visual studio 2017 官网下载安装即可 (2)安装visual GDB 链接:https://pan.baidu.com/s/1TgXI1BRQLAWiWlqCcIS9TA ...

  2. 基于visual studio 2017 以及cubemx 搭建stm32的开发环境(1)

    参考如下文档: 传送门:http://www.stm32cube.com/article/128 如果链接不存在的话,下载我截屏好的图: 传送门:https://pan.baidu.com/s/1NC ...

  3. 基于Eclipse搭建STM32开源开发环境

    最近项目不忙,想着没事看看简单的嵌入式,弄弄物联网什么的.于是就从廉价的STM32开刀了.因为一直是做PC软件开发的,那VS的智能感知那叫一个爽啊,相比之下,觉得这个Keil简直就像文本编辑器一样lo ...

  4. visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建

    visual studio 2019开始支持cmake跨平台开发. 以前cmake项目需要先生成vs项目,然后vs直接使用vs项目开发.现在可以直接用vs2019创建或打开cmake项目. 使用vis ...

  5. Visual Studio 2017 针对移动开发的新特性介绍

    欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ Visual Studio是世界上最好的IDE之一,如果是 .NET世界,那就没有之一了(^_^),而最近推出的Visual S ...

  6. windows下安装QT并与visual studio 2017搭建开发环境

    1.环境搭建 这里并不是说qt必须要和visual studio结合使用,不过用习惯了visual studio开发,继续使用可节省开发时间,并大大提供便利性. 关于安装过程这里不再详细赘述,软件下载 ...

  7. Visual Studio 2017进行Python开发环境的搭建,使用VS2017进行python代码的编写。

    Visual Studio 2017进行Python开发环境的搭建,使用VS2017进行python代码的编写. 前提:已经安装过VS2017且进行过配置. 第一部分: Python环境的搭建: 建议 ...

  8. 软件工程第2次作业——Visual Studio 2017下基于C/C++的VSTS单元测试实践

    Write one minute, test all day long. 环境确定 IDE:Microsoft Visual Studio 2017 Community 语言:C++ 单元测试工具:V ...

  9. 最强 IDE Visual Studio 2017 正式版发布

    Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等 ...

随机推荐

  1. 搭建企业级全网数据定时备份方案[cron + rsync]2

    1.1.1. rsync服务注意的问题 1.服务端 path=/backup/     -->带/ 2.客户端 rsync -avz /tmp/ rsync_backup@192.168.25. ...

  2. 为什么JS中0.1+0.2 != 0.3

    为什么JS中0.1+0.2 != 0.3 在我曾经的一篇< javascript入门教程 (2) >中,讲到JS中数字运算时,我们提到过一个叫做 数字运算中的精度缺失的问题,当时我们只是简 ...

  3. ALICE源代码分析

    前言 ALICE(爱丽丝)事实上是"人工语言计算机实体"的英文缩写. 它以前在往年(2000年.2001年和2004年)的勒布纳人工智能奖角逐中三次获胜.并在其它年度中也获过骄人的 ...

  4. Guava包学习--Table

    Table,顾名思义,就好像HTML中的Table元素一样,其实就是行+列去确定的值,更准确的比喻其实就是一个二维矩阵. 其实它就是通过行+列两个key去找到一个value,然后它又containsv ...

  5. 【[SHOI2007]园丁的烦恼】

    \(CDQ\) 分治的神奇操作 这个问题跟偏序问题好像差的不小啊 但是就是可以转化过去 对于一个查询我们可以把它拆成四个,也就是用二维前缀和的方式来查询 我们发现其实前缀和的定义就是多少个点的横纵坐标 ...

  6. 8、RabbitMQ-消息的确认机制(生产者)

    RabbitMQ 之消息确认机制(事务+Confirm) https://blog.csdn.net/u013256816/article/details/55515234 概述: 在 Rabbitm ...

  7. js 日历插件开发

    1.HTML完整代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  8. java从字符串中提取数字的简单实例

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...

  9. use tool wget for windows download

    1.什么是wget Wget是一个在网络上进行下载的简单而强大的自由软件,其本身也是GNU计划的一部分.它的名字是"World Wide Web"和"Get"的 ...

  10. HDU 1829 A Bug's Life (种类并查集)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1829 A Bug's Life Time Limit: 15000/5000 MS (Java/Oth ...