我在某个地方找到了这段代码,用于通过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吗?
这段代码看起来很奇怪。
发布于 2015-03-08 10:35:41
你可以在Atmel的网站上的AVR编程部分找到它们。你可能应该下载他们的编程工具和手册。
https://stackoverflow.com/questions/28922438
复制相似问题