完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
|
|
相关推荐
1个回答
|
|
|
#include "stdio.h"
#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 //HAL库 PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart3, (uint8_t*)&ch, 1, HAL_MAX_DELAY); return ch; } GETCHAR_PROTOTYPE { uint8_t ch; HAL_UART_Receive(&huart3,(uint8_t *)&ch, 1, HAL_MAX_DELAY); return ch; } //寄存器 PUTCHAR_PROTOTYPE { while((USART3->ISR & UART_FLAG_TC) == RESET); USART3->TDR=(uint8_t)ch; return ch; } GETCHAR_PROTOTYPE { while((USART3->ISR & UART_FLAG_RXNE) == RESET); return (uint8_t)(USART3->RDR); } 注意:printf()和scanf()都是用轮询方式,没有使用中断。调用scanf()在串口助手中输入数据时,必须以空格结束,然后点击发送,否则无法完成发送。 使用标准库(__use_no_semihosting) #pragma import(__use_no_semihosting) //标准库需要的支持函数 struct __FILE { int handle; }; FILE __stdout; //定义_sys_exit()以避免使用半主机模式 _sys_exit(int x) { x = x; } int fputc(int ch, FILE *f) { while((USART3->ISR & UART_FLAG_TC) == RESET); USART3->TDR=(uint8_t)ch; return ch; } 把printf重新宏定义了一下,使用时候就可以使用自己的函数,不想开printf时候改掉宏定义就好了 #define log(...) printf(__VA_ARGS__) 1 重写printf #include #include void USART3_Printf (const void *format, ...) { static uint8_t Buff[100]; va_list args; uint32_t Len; va_start(args, format); Len = vsnprintf((char *)Buff, 100, (char *)format, args); va_end(args); HAL_UART_Transmit(&huart3, (uint8_t *)Buff, Len, 1000); } 使能浮点 |
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
4191 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
3255 浏览 1 评论
2787 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
2219 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
15105 浏览 2 评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
3156浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
1933浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
2101浏览 3评论
2014浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
2206浏览 3评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-11 03:04 , Processed in 0.601756 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
640