
根据MDK获知IAR选择即可,把他定义在main.c的main函数前面 #if 0 //IAR printf USE #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 100); return ch; } #endif #if 1 //MDK printf USE #pragma import (__use_no_semihosting) struct __FILE { int handle; }; FILE __stdout; void _sys_exit(int x) { x=x; } int fputc(int ch, FILE *f) { //while((USART1->SR&0x40)==0); //USART1->DR = (uint8_t) ch; HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 100); return ch; } #endif 如果用错有可能出现程序不运行的情况,debug要点几次才运行的情况 ———————————————— 版权声明:鱼入大海_ |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南