AT89S8252 Code in WinAVR für ATmega - Hilfe!

OP #1767841
Lesenswert?

Hallo,
ich bin dabei ein alte C-Code von AT89S8252 (C-Compiler Keil) auf WinAVR 
umzuschreiben, dank "Peter Danneger Macro"  habe ich einige Sachen 
hinbekommen (an der Stelle vielen Dank an Peter!).

Beitrag "Re: AVR Interface"

Aber gibt es noch paar Dinge das ich nicht genau weisst wie ich es löse 
wie z.B.:
1
sbit sw1 = buttons^0;  /* Bitspeicher für Taste 1 */
2
sbit sw2 = buttons^1;  /* Bitspeicher für Taste 2 */
3
bit sw1Alt = 1;    /* alter Wert von Taste 1 */
4
bit sw2Alt = 1;    /* alter Wert von Taste 1 */

oder auch hier mit "bit vz" :
1
{  
2
unsigned char digit;    /* interner Stellenzähler */
3
   bit vz;      /* internes Vorzeichenbit */
4

5
   if (content<0)    /* bei negativem Vorzeichen der Zahl */
6
     {
7
     content = -content;  /* Betragsbildung und Vorzeichenbit setzen */
8
  vz = 1;
9
     }
10
      else
11
  vz = 0;    /* Zahl positiv: Vorzeichenbit löschen */

kennt sich jemand damit aus?

Gruß
Martin
Gast #1767928
Lesenswert?

Da machst du im Prinzip das Gleiche:
1
#define MBIT(addr,bnr) ((*(volatile struct bits*)&addr).b##bnr) // Bitadressen für Steuerbits
2

3
uint8_t hilfsbyte;
4

5
#define hilfsbit      MBIT (hilfsbyte, 0)

Der 8051 Typ kann ja BIT Verarbeitung und nun mußt du dir halt ne BIT 
Krücke bauen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren