quartus里的ecplise编程的问题
<p>先上代码:</p><pre>
<code> */
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "system.h"
#include "sys/alt_dma.h"
#include "altera_avalon_dma.h"
#include <stdio.h>
alt_u8 data={49,50,51,52,53,54,55,56};
alt_u8 data1={0,0,0,0,0,0,0,0};
//---------------------------------------------------------------------------
//-- 名称 : main()
//-- 功能 : 程序入口
//-- 输入参数 : 无
//-- 输出参数 : 无
//---------------------------------------------------------------------------
int main()
{
int i;
FILE *fp;
if((fp=fopen(JTAG_UART_NAME,"w+"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
fwrite(data,1,8,fp);
fread(data1,1,8,fp);
for(i=0;i<8;i++)
printf("data1[%d] value = %d\n",i,data);
fclose(fp);
return 0;
}
</code></pre>
<p>可是一运行,打印结果却是下面这个样子</p>
<p></p>
<p>为什么会这样?难道eclipse里的printf函数和C语言里的不一样?谢谢!</p>
不同的编译器,底层的库可能都不一样 <p>参考一下怎样在STMCubeIDE中配置以使用printf函数打印调试结果</p><br/> 薛小川 发表于 2023-7-14 01:39
参考一下怎样在STMCubeIDE中配置以使用printf函数打印调试结果
<p>eclipse里的声明</p>
<pre>
<code>int _EXFUN(printf, (const char *__restrict, ...)
_ATTRIBUTE ((__format__ (__printf__, 1, 2))));</code></pre>
<p>stm32</p>
<pre>
<code>使用printf打印时:得重新配置的一下程序:
单片机输出,上位机接收(串口助手接收区数据):
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 2);//huart1需要根据你的配置修改
return ch;
}
</code></pre>
<p>STM32还要使用微库,这怎么参考呀?</p>
页:
[1]