Hej
Jeg ville lige høre om der var nogle folk herinde, som kender noget til AVR. Mine problemer følger, hvis nogle kender til det
Ja klart... Ingen problemer... Genstart og så skulle den gerne være hjemme...
Der var så et eksempel på een, som ikke ved hvad AVR er !!!
Til dem der ikke ved hvad ABR er. Er det programmering af små chips, som kan bruges i et elektronisk kredsløb, så genstart er sgu ikke ikke rigtig en mulighed!!!
Men da jeg skriver i C, må da der være nogen, som kan hjælpe mig:
Min kode:
/*********************************************
This program was produced by the
CodeWizardAVR V1.23.9b Standard
Automatic Program Generator
© Copyright 1998-2003 HP InfoTech s.r.l.
http://www.hpinfotech.ro
e-mail:office@hpinfotech.ro
Project :
Version :
Date : 12/5/2003
Author : Admin
Company :
Comments:
Chip type : ATmega8515
Program type : Application
Clock frequency : 8.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 128
*********************************************/
#include <mega8515.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15
#endasm
#include <lcd.h>
#include <delay.h>
#include <stdio.h>
#include <setjmp.h>
#include <mem.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
// Declare your global variables here
int tal2;
/*Indlæsning af X-kordinat, hvis knap a.1 giver input 1, så sæt tal2 til x*/
void x_ind_1 (void)
{
PORTB=0b11111111;
if (!PINA.0)
{
tal2=0;
PORTB=0b11111110;
}
if (!PINA.1)
{
tal2=1;
PORTB=0b11111101;
}
if (!PINA.2)
{
tal2=2;
PORTB=0b11111011;
}
if (!PINA.3)
{
tal2=3;
PORTB=0b11110111;
}
if (!PINA.4)
{
tal2=4;
PORTB=0b11101111;
}
if (!PINA.5)
{
tal2=5;
PORTB=0b11011111;
}
}
void main(void)
{
// Declare your local variables here
/*sætter tal til 15 til senere brug for startværdi i LCD-display*/
long tal = 15;
// Input/Output Ports initialization
// Port A initialization
// Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
// State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func0=Out Func1=Out Func2=Out Func3=Out Func4=Out Func5=Out Func6=Out Func7=Out
// State0=0 State1=0 State2=0 State3=0 State4=0 State5=0 State6=0 State7=0
PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func0=Out Func1=Out Func2=Out Func3=Out Func4=Out Func5=Out Func6=Out Func7=Out
// State0=0 State1=0 State2=0 State3=0 State4=0 State5=0 State6=0 State7=0
PORTC=0x00;
DDRC=0xFF;
// Port D initialization
// Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
// State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
PORTD=0x00;
DDRD=0x00;
// Port E initialization
// Func0=In Func1=In Func2=In
// State0=T State1=T State2=T
PORTE=0x00;
DDRE=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
EMCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
// Analog Comparator Output: Off
ACSR=0x80;
// LCD module initialization
lcd_init(16);
while (1)
{
int tal3;
char s[3];
itoa(tal2,s);
/*Starttekst i LCD-display*/
lcd_gotoxy(0,0);
lcd_putsf("X-koordinat:");
lcd_gotoxy(0,1);
lcd_putsf("Y-koordinat:");
x_ind_1();
if (!PINA.6)
{
while (tal>13)
{
tal-=1;
delay_ms(50);
}
}
if (!PINA.7)
{
while (tal<15)
{
tal+=1;
delay_ms(50);
}
}
lcd_gotoxy(tal,0);
lcd_puts(s);
}
}
Mit problem er at få min s værdi til at blive sammensat af en værdi fra min x_ind_1 og et tal
f.eks s=tal2&&1 og sætter vi tal2 til 5, så skulle dette i mine øjne give s=51
Nogen der kan sige mig, hvor jeg løser dette ????
[Redigeret d. 07/12-03 12:09:37 af Casper Mogensen]