为什么xil_printf导致堆栈溢出而XUartLite_SendByte不会? 有谁能解释一下? 注释部分(XUartLite_SendByte)工作正常,但最终我想在i上调用一个函数并使用xil_printf返回结果。
代码如下所示。
使用xilinx sdk进行micrlaze
#include /*#include "xparameters.h" */ #include "xil_cache.h" /*#include "uartlite_header.h" #include "xbasic_types.h" #include "xgpio.h" #include "gpio_header.h" #include "xspi.h" #include "spi_header.h"*/ #include "xparameters.h" #include "xutil.h" #include "xuartlite_i.h" #define UART_ADDR 0x40600000 int main() { Xil_ICacheEnable(); Xil_DCacheEnable(); print("---Entering main---nr"); Xuint16 i; while(1==1) { while(XUartLite_IsReceiveEmpty(UART_ADDR)); i = XUartLite_RecvByte(UART_ADDR); xil_printf("%c ", i); /*while(XUartLite_IsTransmitFull(UART_ADDR));*/ /*XUartLite_SendByte(UART_ADDR, i);*/ //} } print("---Exiting main---nr"); Xil_DCacheDisable(); Xil_ICacheDisable(); return 0; }
您在Xilinx论坛上发布了相同的问题。 Xilinx回复了它:
XUartLite_RecvByte()返回一个u8(或unsigned char)。 不是Xuint16。 并且xil_printf%c不会期望Xuint16。
以上就是c/c++开发分享xil_printf和XUartLite_SendByte相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/544948.html