Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 13:52

  • Please register to post and access all features, it's quick, easy and FREE!

 

C Tabelle

Reply
 
Old   #1
 
elite*gold: 250
Join Date: Jun 2012
Posts: 408
Received Thanks: 101
C Tabelle

Hey Leute,

ich wollte kurz fragen ob der Code für die Tabelle so richtig ist.
Das ganze bezieht sich auf eine 7 Segment Anzeige.

Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#define warte(Dauer)\
for(uint16_t z2=Dauer; z2>0; z2--)\
{	for(uint16_t z1=65535; z1>0; z1--)\
	{asm volatile("NOP");\
	}\
}
uint8_t Marker1 = 0;
uint8_t Marker2 = 0;
#define Taster_1_D PD2
#define Taster_2_D PD3
uint8_t Tab [10] [2];
#define B 0
#define D 1

int Ro = 0;
int Lo = 1;
int Om = 2;
int M = 3;
int Ru = 0;
int Lu = 1;
int Um = 2;
int Do = 3;
	

int main(void)
{	
		DDRD |= 0b11110000;
		DDRB |= 0b00111111;
		
		
		Tab [Ro] [D] = 64;	//RechtsO
		Tab [Om] [D] = 32;	//ObenM
		Tab [M] [D] = 128;	//Mitte
		
		Tab [Ru] [B] =	4;	//RechtsU
		Tab [Lu] [B] = 32;	//LinksU
		Tab [Um] [B] = 16;	//UntenM
		Tab [Do] [B] =	2;	//Dot
		Tab [Lo] [B] =	128;	//LinksO
	
	while(1)
	{
		//1
		Tab [0][D] = (1<<Ro)|(0<<Om)|(0<<M);
		Tab [0][B] = (1<<Ru)|(0<<Lu)|(0<<Um)|(0<<Do)|(0<<Lo);
		warte(1000)
		//2
		Tab [1][D] = (1<<Ro)|(1<<Om)|(1<<M);
		Tab [1][B] = (0<<Ru)|(1<<Lu)|(1<<Um)|(1<<Do)|(0<<Lo);
		warte(1000)
		//3
		Tab [2][D] = (1<<Ro)|(1<<Om)|(1<<M);
		Tab [2][B] = (1<<Ru)|(0<<Lu)|(1<<Um)|(0<<Do)|(0<<Lo);
		warte(1000)
		//4
		Tab [3][D] = (1<<Ro)|(0<<Om)|(1<<M);
		Tab [3][B] = (1<<Ru)|(0<<Lu)|(0<<Um)|(0<<Do)|(1<<Lo);
		warte(1000)
		//5
		Tab [4][D] = (0<<Ro)|(0<<Lo)|(1<<Om)|(1<<M);
		Tab [4][B] = (1<<Ru)|(0<<Lu)|(1<<Um)|(1<<Do)|(1<<Lo);
		warte(1000)
		//6
		Tab [5][D] = (0<<Ro)|(1<<Om)|(1<<M);
		Tab [5][B] = (1<<Ru)|(1<<Lu)|(1<<Um)|(1<<Do)|(1<<Lo);
		warte(1000)
		//7
		Tab [6][D] = (1<<Ro)|(0<<Lo)|(1<<Om)|(0<<M);
		Tab [6][B] = (1<<Ru)|(0<<Lu)|(0<<Um)|(0<<Do)|(0<<Lo);
		warte(1000)
		//8
		Tab [7][D] = (1<<Ro)|(1<<Om)|(1<<M);
		Tab [7][B] = (1<<Ru)|(1<<Lu)|(1<<Um)|(1<<Do);
		warte(1000)
		//9
		Tab [8][D] = (1<<Ro)|(1<<Om)|(1<<M);
		Tab [8][B] = (1<<Ru)|(0<<Lu)|(1<<Um)|(1<<Do)|(1<<Lo);
		warte(1000)
		//0
		Tab [9][D] = (1<<Ro)|(1<<Lo)|(1<<Om)|(0<<M);
		Tab [9][B] = (1<<Ru)|(1<<Lu)|(1<<Um)|(0<<Do)|(1<<Lo);
		warte(1000)	
	}
}



-Illusion- is offline  
Old   #2
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 783
für "warte()" gibt es in der util/delay.h bereits eine funktion:
Deine Funktion ist nicht von der F_CPU abhängig, also eigentlich unbrauchbar.

Zu deiner eigentlichen Frage bräuchte man noch etwas mehr Informationen, ein Schaltplan wäre einmal ein Anfang.
Deinen Code könntest du auch etwas erklären, also was er im Moment kann, was er nicht kann und was er können sollte.
Vorallem so etwas ist irgendwie... verwirrend, um es mal milde auszudrücken.
Code:
#define B 0
#define D 1


.SkyneT. is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
Log Tabelle
Morgen, Epvp, Habe soweit funktionierte Logs, ist ja alles cool, nur ein Eintrag geht mir ziemlich auf den Wecker: GET_GOLD heißt ja nur, dass...
2 Replies - Metin2 PServer - Discussions / Questions
Exp Tabelle
Wollte mal Nachfragen ob jemand eine exp abelle hat die fuer die Offi Server gelten die bis level 120 gehen steht vllt ja auch irgendwo in den...
4 Replies - Fiesta Online
Tabelle
Hi, kann mir mal bitte einer erklären wie das hier mit der Tabelle funktioniert ich bekomme das einfach nicht hin. mfg
3 Replies - Main
[Help]Exp Tabelle
Hallo epvp, Könnte mir mal bitte einer die exp tabelle von metin2 de schicken? falls es diese nicht gibt, könnte mir einer ein tool übermitteln...
5 Replies - Metin2 PServer - Discussions / Questions
Tabelle?
Hi, weiss jemand wie man eine tabelle in foren erstellt? so wie bei dem badge thread
2 Replies - CrossFire



All times are GMT +2. The time now is 13:52.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.