0

我正在使用 C 在 CodeVision AVR 中编码,我想从 0 计数到 100(计数器),然后将其显示在 Proteus 的 LCD 上。在 CodeVision 中选择“全部构建”时,我收到此错误。我不知道为什么。

未定义的符号'sprintf'

编码:

#include <mega16.h>
#include <delay.h>
#include <alcd.h>
void main(void)
{
    int i;
    char buffer[10];
    lcd_init(16);
    while(1)
    {
        for(i=0;i<=100;i++)
        {
            lcd_clear();
            lcd_gotoxy(0,0);
            sprintf(buffer, "Time=%2d", i);
            lcd_putsf(buffer);
            delay_ms(100);
        }
    }
}
4

1 回答 1

5

确保你有#include <stdio.h>

也使用lcd_puts(buffer);代替lcd_putsf(buffer);

lcd_putsf()是flash版的lcd打印功能。您声明字符数组的方式是在 ram 中而不是 flash 中,因此您必须使用其他 lcd 打印功能。

于 2020-12-22T19:44:07.400 回答