با سلام
دوستان میخوام یه LCD کاراکتری ۱۶*۲ راه اندازی کنم.
کتابخونه lcd.hرو هم به پروژه اضافه میکنم.
و توی قسمت LCD.h پین های LCD رو هم به پایه های میکرو(اونایی که خودم به LCD وصل کردم)معرفی میکنم.
و کد میزنم و برنامه رو مینویسم و خطا میده.
اینم بگم کامپایل که میکنم AVRdude هم فعاله و برنامه باید اگه خطایی نباشه رو آی سی منتقل بشه.
این کد های تغییر داده شده lcd.h
#ifndef _LCD_H
#define _LCD_H
#include <avr/io.h>
#include <util/delay.h>
//LCD interface
#define PORT_LCD PORTC
#define DDR_LCD DDRC
#define RS PB5
#define RW PC5
#define EN PC4
#define DB4 PC3
#define DB5 PC2
#define DB6 PC1
#define DB7 PC0
#define SETBIT(address,bit) (address |= (1<<bit))
#define CLRBIT(address,bit) (address &= ~(1<<bit))
#define SET_EN SETBIT(PORT_LCD,EN)
#define CLR_EN CLRBIT(PORT_LCD,EN)
#define SET_RS SETBIT(PORT_LCD,RS)
#define CLR_RS CLRBIT(PORT_LCD,RS)
#define SET_RW SETBIT(PORT_LCD,RW)
#define CLR_RW CLRBIT(PORT_LCD,RW)
// prototipe fungsi
void enable(void); // enable fulse for LCD
void lcd_init(void); // intialization LCD
void lcd_putchar(unsigned char c); // send character to LCD
void lcd_putstr(char *s); // send string to LCD
void lcd_clear(void); // clear display
void lcd_gotoxy(unsigned char i,unsigned char j); //move LCD cursor position
#endif
اینم کد اصلی:
#include "lcd.h"
#include <util/delay.h>
int main(void)
{
lcd_init();
while(1)
{
lcd_gotoxy(0,0);lcd_putstr("hello world");
_delay_ms(200);
lcd_clear();
}
return 0;
}
اینم خطا:
Description Resource Path Location Type
make: *** [test lcd.elf] Error 1 test lcd C/C++ Problem