【问题标题】:AVR LCD error: lcd.h: No such file or directoryAVR LCD 错误:lcd.h:没有这样的文件或目录
【发布时间】:2015-03-08 02:33:16
【问题描述】:

我在某处找到了这段代码,用于通过 AVR 在 LCD 上显示内容:

#include <stdio.h>
#include <mega16.h>
#include <util/delay.h>
#include <lcd.h>

#define xtal 4000000

#asm
 .equ __lcd_port=0x1B ;PORTA
#endasm

void main(void)
{
    char buffer[10];
    unsigned char w;
    PORTB=0xFF;
    DDRB=0x00;
    lcd_init(16);
    lcd_clear();
    while (1)
    {
        w = ~PINB;
        if(w!=0x00)
        {
            lcd_clear();
            lcd_gotoxy(0,0);
            sprintf(buffer,"Number=%d",w);
            lcd_puts(buffer);
            delay_ms(100);
        }
        else
        {
            lcd_clear();
            lcd_putsf("Number=0");
            delay_ms(100);
        }
    }
}

由于问题太多,此代码无法运行(代码块消息):

||=== Build: Debug in avr (compiler: GNU GCC Compiler for AVR) ===|
main.c|2|error: mega16.h: No such file or directory|
main.c|4|error: lcd.h: No such file or directory|
main.c|8|error: invalid preprocessing directive #asm|
main.c|9|error: expected identifier or '(' before '.' token|
main.c|10|error: invalid preprocessing directive #endasm|
main.c|12|error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'|
||=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

我应该在哪里找到mega16.h,我应该安装任何东西来访问lcd.h

这段代码看起来很奇怪。

【问题讨论】:

  • 你在哪里找到这个代码?看起来它适用于完全不同的工具链。
  • 那绝对不是 AVR-GCC 代码。
  • @IgnacioVazquez-Abrams 这就是我的想法。我得到的是一本pdf书。我不知道怎么把它贴在这里。
  • 好吧,停止使用它。显然你没有 Codevision 编译器。

标签: c avr avr-gcc


【解决方案1】:

您可能可以在 Atmel 网站的 AVR 编程部分找到它们。您可能应该下载他们的编程工具和手册。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2013-08-08
    • 2013-11-04
    • 2012-02-18
    • 2012-10-21
    相关资源
    最近更新 更多