PSOC 编程时将printf()重定向到UART

编译工具为ARM GCC时,需要重写write()函数,在代码中添加如下函数:

        /* For GCC compiler revise _write() for the printf */
        int _write(int file, char *ptr, int len)
        {
            int i;
            file = file;
            for (i = 0; i < len; i++)
            {
                UART_UartPutChar(*ptr++);
            }
            return len;
        }
然后即可调用printf()函数,打印信息将会直接输出到指定的UART

这里面需要注意的是,System Option里的Heap Size值要足够大,否则在调用printf()将会崩溃,这里我设置的值为0x400。

你可能感兴趣的:(CYPRESS,PSOC)