Forum: Mikrocontroller und Digitale Elektronik AT89S8252 Code in WinAVR für ATmega - Hilfe!


von Martin e. C. (eduardo)


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

von Bernd N (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.