编译,烧录,运行,打开Debug (printf) viewer,就可以看到输入,参看下图 这里对retarget.c文件做几点说明. 1). 上面的代码实际是在X:\Keil\ARM\Startup\Retarget.c上修改而成的,scanf依赖的函数共有两个,fgetc和__backspace都需要实现,如果缺少__backespace函数,则scanf胡无法从Debug Viewer Dialog 窗口获取输入。...
进入调试模式,然后在视图菜单中打开调试输出查看器即可 View=>Trace=>Debug(printf)Viewer
} 就可以使用 printf 输出调试信息,但实际上我这么做失败了,初始化的时候不知道卡在了哪里,也不弄了,反正 ITM_SendChar 一样可以输出。 打开工程选项: - project -> options for target - "Debug"标签 - Initialization File: Keil\ARM\Boards\Keil\MCBSTM32\STLIB_Blinky\STM32DBG.ini 因为SWV 设置只能由...
然后就是编译、下载、调试了。为了看到ITM的输出,还需要在KEIL中打开相应的观察窗口: 图五 启动调试、并全速运行,在 Debug (printf)Viewer 窗口中将显示我们之前写的 ITM_SendChar('A'); 语句输出的字符A。 图六 也许有细心的宝宝问了:上面的代码中没有指定ITM的端口0呀,为什么是在端口0输出的字符A呢? ITM_...
在菜单里找到ST-LINK→Printf via SWO Viewer就会弹出一个窗口,设置System Clock为单片机内核频率,点...
/* 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) ...
首先在 KEIL 中启动这个功能: 这样就可以了(这只是最简单的配置,更具体的可以通过上面的界面根据需要自行配置)。 为了实现调试信息的 printf 函数输出和 scanf 函数的输入功能,还需要在代码中增加一部分代码支持。可以采用如下最简单的代码实现: 根据网上比较规范的写法是这样的: ...
Keil5 方法/步骤 1 打开你的工程,选择工程的“Target”。2 右击“Target”选择“Options for Target Target1……”,或者按快捷键“Alt + F7”。3 进入“Options for Target ‘Target’”,切换到“Target”,勾选“Use Micro LIB”。4 继续仿真,可以看到程序可以运行了,而且printf也可以执行。5 加个计数器...
Keil stm32 printf到Debug窗口 使用JlinkV8+Keil4 1、在main.c输入以下代码 #include <stdio.h>#defineITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n)))#defineITM_Port16(n) (*((volatile unsigned short*)(0xE0000000+4*n)))#defineITM_Port32(n) (*((volatile unsigned long *...
Keil不支持Host-semi机制,即不支持直接在IDE打印字符串。 那么只能通过程序向硬件串口发数据了,这样调用的时候用自定义的函数即可,也很方便,例如: void send_char_to_usart(unsigned char c){} 但是可否直接使用printf函数呢?毕竟人家都做好了,我们给他定一个打印输出的接口就可以了,答案是肯定的,看ST的官方源码...