Ride7 UART0 Putchar设置

时间:2014-04-15 23:00:03

标签: c arm stdio uart stm32

我一直致力于使用STM32F0 Discovery Board的项目。在这个项目中,我计划使用USART将数据发送到计算机。我知道Ride7具有设置stdio功能以使用该设备所需的软件。我不知道这是如何工作的以及我需要做什么。我将设备设置为使用USART1用于此目的。我查看了设置并找到了UART0 Putchar选项。我的理解是,自从我设置USART1后,我不想使用它,所以我将选项设置为no。当我这样做时,我收到以下错误:

 C:\Program Files (x86)\Raisonance\Ride\Lib\ARM\smallprintf_thumb.a(_SP_puts.o): In function `puts':  
 _SP_puts.c:(.text+0x74): undefined reference to `__io_putchar'  
 collect2: ld returned 1 exit status  
  Error Code: 1 

Build failed 

将选项转换为yes会删除此错误。

所以我的问题是UART0 putchar设置是做什么的?我想要打开还是关闭。此外,如果所有这些都由Ride7处理,我甚至需要设置USART1吗?

1 个答案:

答案 0 :(得分:0)

必须始终定义

__ io_putchar(),因此像printf这样的函数可以使用它在某处输出字符串。但是当你禁用UART0 putchar时,你不会声明任何替换__io_putchar()。

来自racenance入门指南:

  

B)“包括UART0 Putchar”   此选项添加“io_putchar.a”(或“io_putchar_thumb.a”),其中包括标准putchar和   使用UART0的getchar函数。它应该与“UART0_stdio.h”一起使用   (而不是“stdio.h”)。它还使用stdout(如printf)将函数的输出重定向到   UART0。 “TEST”示例显示了如何使用它。图书馆的资源可以在   “C:\ Program Files \ Raisonance \ Ride \ LIB \ ARM \ IO_PUTCHAR \ ...”   您可以自由使用和分发它们。

查看“C:\ Program Files \ Raisonance \ Ride \ lib \ ARM \ io_putchar”中的示例,其中显示了如何编写自己的__io_putchar()。

使用UART1编写自己的文件,并禁用UART0 putchar。