Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C xil_printf和XUartLite_SendByte_C_Microblaze - Fatal编程技术网

C xil_printf和XUartLite_SendByte

C xil_printf和XUartLite_SendByte,c,microblaze,C,Microblaze,为什么xil_printf会导致堆栈溢出而XUartLite_SendByte不会?有人能解释一下吗? 注释部分(XUartLite_SendByte)工作正常,但最终我希望调用i上的函数,并使用xil_printf返回结果 代码如下所示 使用xilinx sdk制作的微晶玻璃 #include <stdio.h> /*#include "xparameters.h" */ #include "xil_cache.h" /*#include "uartlite_header.h" #

为什么xil_printf会导致堆栈溢出而XUartLite_SendByte不会?有人能解释一下吗? 注释部分(XUartLite_SendByte)工作正常,但最终我希望调用i上的函数,并使用xil_printf返回结果

代码如下所示

使用xilinx sdk制作的微晶玻璃

#include <stdio.h>
/*#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---\n\r");

   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---\n\r");

   Xil_DCacheDisable();
   Xil_ICacheDisable();

   return 0;
}
#包括
/*#包括“xparameters.h”*/
#包括“xil_cache.h”
/*#包括“uartlite_header.h”
#包括“xbasic_types.h”
#包括“xgpio.h”
#包括“gpio_头.h”
#包括“xspi.h”
#包括“spi_header.h”*/
#包括“xparameters.h”
#包括“xutil.h”
#包括“xuartlite_i.h”
#定义UART_地址0x40600000
int main()
{
Xil_ICacheEnable();
Xil_dcachenable();
打印(“---输入主--\n\r”);
荀蒂;
而(1==1)
{
而(XUartLite_是receiveempty(UART_ADDR));
i=XUartLite_RecvByte(UART_ADDR);
xil_printf(“%c”,i);
/*而(XUartLite_IsTransmitFull(UART_ADDR))*/
/*XUartLite_SendByte(UART_ADDR,i)*/
//}
}
打印(“---正在退出主屏幕----\n\r”);
Xil_DCacheDisable();
Xil_ICacheDisable();
返回0;
}

您在上发布了相同的问题。Xilinx回应说:

XUartLite_RecvByte()返回一个u8(或无符号字符)。一点也不奇怪。而xil_printf%c将不期望Xuint16