onemomentpls
14.01.2009, 12:41
Hi, kann man den Code in AVR umschreiben?
void AUSGABE(char adresse,char wert)
{
char x;
// Bevor die Daten übertragen werden, wird zuerst der PIN LOAD auf LOW gesetzt.
// Die Daten beginnen mit dem Bit D15, also MSB
output_low(LOAD);
// Die Datenbits D15-D12 werden übertragen
// Da diese nicht wichtig sind, wird eine 0 übermittelt
for (x=0;x<4;x++)
{
output_low(DATA);
output_high(CLK);
output_low(CLK);
}
// Die Datenbits D11-D8 beinhalten die Registeradresse des MAX7219
for (x=4;x>0;x--)
{
if (bit_test(adresse,x-1)) output_high(DATA);
else output_low(DATA);
output_high(CLK);
output_low(CLK);
}
// Die Datenbits D7-D0 sind die Daten an den MAX7219
for (x=8;x>0;x--)
{
if (bit_test(wert,x-1)) output_high(DATA);
else output_low(DATA);
output_high(CLK);
output_low(CLK);
}
// Zum Schluß wird der PIN LOAD auf HIGH gesetzt, damit ist die
// Datenübertragung zu Ende
output_high(LOAD);
}
Code-Tags verwenden ! (PicNick)
void AUSGABE(char adresse,char wert)
{
char x;
// Bevor die Daten übertragen werden, wird zuerst der PIN LOAD auf LOW gesetzt.
// Die Daten beginnen mit dem Bit D15, also MSB
output_low(LOAD);
// Die Datenbits D15-D12 werden übertragen
// Da diese nicht wichtig sind, wird eine 0 übermittelt
for (x=0;x<4;x++)
{
output_low(DATA);
output_high(CLK);
output_low(CLK);
}
// Die Datenbits D11-D8 beinhalten die Registeradresse des MAX7219
for (x=4;x>0;x--)
{
if (bit_test(adresse,x-1)) output_high(DATA);
else output_low(DATA);
output_high(CLK);
output_low(CLK);
}
// Die Datenbits D7-D0 sind die Daten an den MAX7219
for (x=8;x>0;x--)
{
if (bit_test(wert,x-1)) output_high(DATA);
else output_low(DATA);
output_high(CLK);
output_low(CLK);
}
// Zum Schluß wird der PIN LOAD auf HIGH gesetzt, damit ist die
// Datenübertragung zu Ende
output_high(LOAD);
}
Code-Tags verwenden ! (PicNick)