编译、下载,结果如图: 4. 接管printf重定向 项目中使用printf的地方非常多,如果可以直接修改printf重定向到RTT组件,则会非常方便。 我使用的方法是直接使用RTT提供的API实现fputc,需要MDK开启微库支持: 在main.c最后实现fputc函数: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 intfputc(int ch,FILE*f){SEG...
输入输出重定向 /mtb_shared/retarget-io/release-v1.3.0/cy_retarget_io.c _write->cy_retarget_io_putchar实现发送 _read->cy_retarget_io_getchar实现接收 总结 Demo代码实现了串口重定向可以直接使用printf等,进行了输入输出测试,测试OK方便后面使用串口打印调试。更多...
printf("%s\r\n","Hello World from SEGGER, Terminal 0!"); SEGGER_RTT_SetTerminal(0); SEGGER_RTT_WriteString(0,RTT_CTRL_TEXT_RED"Hello World from SEGGER, Terminal 0!\r\n"); printf("%s\r\n","Hello World from SEGGER, Terminal 1!"); SEGGER_RTT_SetTerminal(1); SEGGER_RTT_printf(...
SEGGER_RTT_printf(0, RTT_CTRL_TEXT_GREEN"Hello World from SEGGER, Terminal 1!\r\n"); Delay_ms(1000); } } /***END OF FILE***/ 最会效果如下: 5.4 RTT Viewer printf重定向 RTT还可以使用printf重定向,只需要简单修改fputc()函数即可。 int fputc(int ch, FILE *f) { #if defined (RTT)...
项目中使用printf的地方非常多,如果可以直接修改printf重定向到RTT组件,则会非常方便。使用的方法是直接使用RTT提供的API实现fputc。 重定义fputc函数 //重定义fputc函数 int fputc(int ch, FILE *f) { SEGGER_RTT_PutChar(0, ch); return ch; }
例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下: 只要自己添加一个int fputc(int ch, FILE *f)函数,能够输出字符就可以了 #ifdef__GNUC__/*With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar()*/#definePUTCHAR...
测试条件使用 STM32F407,主频 168MHz,通过重定向 printf 实现。由上面的测试数据,可以看到 RTT 输出...
标准库重定向实现 1intprintf(constchar*fmt,...) {23charbuffer[128];4va_list args;5va_start (args, fmt);6intn = vsnprintf(buffer,sizeof(buffer), fmt, args);7SEGGER_RTT_Write(0, buffer, n);8va_end(args);9returnn;10} 或者 ...
H7-TOOL高速DAPLINK用于Embedded Studio操作说明,采用OpenOCD配GDB Server(2021-12-08)armbbs.cn/forum.php? (2)现在新版的Embedded Studio,从6.2x开始已经直接重定向了printf自动选择RTT: (3)下面是我使用树莓派单片机做的在线调试和RTT同时使用展示: H7-TOOL使用三线连接方式即可: 动态效果: img.alicdn.com/img...
mod=viewthread&tid=109999 (2)现在新版的Embedded Studio,从6.2x开始已经直接重定向了printf自动选择RTT: (3)下面是我使用树莓派单片机做的在线调试和RTT同时使用展示: H7-TOOL使用三线连接方式即可: 动态效果: