历史上的今天
今天是:2024年10月08日(星期二)
2021年10月08日 | STM32CubeIDE 的应用: 重定向printf 到stm32串口
2021-10-08 来源:eefocus
一、导入stdio.h库文件
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include /* USER CODE END Includes */ 二、重写函数 /* USER CODE BEGIN 4 */ #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #define GETCHAR_PROTOTYPE int __io_getchar(FILE *f) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #define GETCHAR_PROTOTYPE int fgetc(FILE *f) #endif /* __GNUC__ */ PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart4, (uint8_t *)&ch, 1, 0xFFFF); return ch; } GETCHAR_PROTOTYPE { uint8_t ch = 0; HAL_UART_Receive(&huart4,(uint8_t *)&ch, 1, 0xFFFF); if (ch == 'r') { __io_putchar('r'); ch = 'n'; } return __io_putchar(ch); } /* USER CODE END 4 */ 三、测试 然后就可以在程序中使用printf调试串口了。可以在main.c的主循环中加入下面一段代码验证printf是否已正确的重定向: uint8_t rd[10]; scanf("%s",rd); printf("hello %srn",rd);
史海拾趣
|
VC如何发彩信,已经实现ATDT*99***1#这一步了,下一步应该是什么,内容打包?如果打包? VC如何发彩信,已经实现ATDT*99***1#这一步了,下一步应该是什么,内容打包?如果打包? ATE AT+CMGF=0 AT+CIMI AT+CIMI获得IMSI IMSI 国际移动用户识别码(IMSI) international mobile subscriber identity 国际上为唯一识别 ...… 查看全部问答> |
|
在VS2005环境里可以创建wince的项目 我现在想用C#在vs2005开发一个应用软件用的是Access数据库 。下载wince下面有哪些方面的要求吗 。 比如说我要做一个类似表格的界面 在输入数据以后点击按钮就保存到数据库里面去了 然后文本框清空, & ...… 查看全部问答> |
|
问题是这样的:我用flash烧写了一个控制电机的程序,不能运行,就把代码改了一下,再进行烧程序的时候就烧不进去啦,我也没有动“lock”和密码(在flash烧写的时候一直很小心的),怎么会锁住呢?很是不解。请EEWORLD老师和各位高手解答一下,谢谢 ...… 查看全部问答> |
|
OLED_12896_GR_Lib函数(三) ——LINE函数的实现 首先向大家说声抱歉,因为自己的不小心,上次的PSET函数中出现了一些失误,且在测试程序中也没有测试出来,这次在编写LINE函数时发现并修改过来了。现把修改的地方罗列如下:1、 缓冲数组的定义,这是一个非常低级的失误,在定义数组的时候, ...… 查看全部问答> |
|
我是一个只有初中毕业没有读过多少书的人从小就爱好无线电记得很小的时候当通讯兵的父亲带回来几本电子方面的书籍从此就迷上了无线电那种痴迷程度决不亚于现在的小孩迷恋游戏机至今仍然清楚的记得曾经因为装成功一台6管收音机而兴奋的几天几夜没睡 ...… 查看全部问答> |
|
从dm9000.def文件中可以看到dm9000的驱动程序(dm9000.dll)exports的函数只有DriverEntry。从名字上也可以看出这是该dll文件入口。 下面详细看下这个入口函数(在driver.cpp中实现):在这个函数中主要有一个NdisMInit ...… 查看全部问答> |




