chenbingjy 发表于 2023-7-9 16:42

quartus里的ecplise编程的问题

<p>先上代码:</p>

<pre>
<code> */
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;unistd.h&gt;
#include "system.h"
#include "sys/alt_dma.h"
#include "altera_avalon_dma.h"
#include        &lt;stdio.h&gt;

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&lt;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>

angel_CN 发表于 2023-7-9 20:23

不同的编译器,底层的库可能都不一样

薛小川 发表于 2023-7-14 01:39

<p>参考一下怎样在STMCubeIDE中配置以使用printf函数打印调试结果</p><br/>

chenbingjy 发表于 2023-7-14 10:25

薛小川 发表于 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(&amp;huart1, (uint8_t *)&amp;ch, 1, 2);//huart1需要根据你的配置修改
    return ch;   
}
</code></pre>

<p>STM32还要使用微库,这怎么参考呀?</p>
页: [1]
查看完整版本: quartus里的ecplise编程的问题