Zitat von
sternst
... Ach komm, so kompliziert ist das nicht ...
Ahhh - ja, danke, wenn Du das so schön erklärst . . . Und vermutlich haben dann die beiden Befehle SetBit(PINC, 5); und ClrBit(PINC, 5); immer (nur) getoggelt. DAS liesse sich ja praktisch kontrollieren - weil dann in einem 50xBlinke-Loop nur 25 Blinkies erscheinen dürften (habe ich jetzt richtig gedacht?).
Zitat von
sternst
... bei deinem WinAVR fehlt in den Controller-Defines für den Mega328P das PC5?
Im Prinzip ja. Das heißt in der iom328p.h vom WinAVR-20090313 nämlich so:
Code:
/* Copyright (c) 2007 Atmel Corporation....*/
....
/* $Id: iom328p.h,v 1.3.2.14 2009/02/11 18:05:28 arcanum Exp $ */
....
/* avr/iom328p.h - definitions for ATmega328P. */
....
/* This file should only be included from <avr/io.h>, never directly. */
....
/* Registers and associated bit numbers */
#define PINB _SFR_IO8(0x03)
#define PINB0 0
#define PINB1 1
#define PINB2 2
#define PINB3 3
#define PINB4 4
#define PINB5 5
#define PINB6 6
#define PINB7 7
#define DDRB _SFR_IO8(0x04)
#define DDB0 0
#define DDB1 1
#define DDB2 2
#define DDB3 3
#define DDB4 4
#define DDB5 5
#define DDB6 6
#define DDB7 7
#define PORTB _SFR_IO8(0x05)
#define PORTB0 0
#define PORTB1 1
#define PORTB2 2
#define PORTB3 3
#define PORTB4 4
#define PORTB5 5
#define PORTB6 6
#define PORTB7 7
#define PINC _SFR_IO8(0x06)
#define PINC0 0
#define PINC1 1
#define PINC2 2
#define PINC3 3
#define PINC4 4
#define PINC5 5
#define PINC6 6
#define DDRC _SFR_IO8(0x07)
#define DDC0 0
#define DDC1 1
#define DDC2 2
#define DDC3 3
#define DDC4 4
#define DDC5 5
#define DDC6 6
#define PORTC _SFR_IO8(0x08)
#define PORTC0 0
#define PORTC1 1
#define PORTC2 2
#define PORTC3 3
#define PORTC4 4
#define PORTC5 5
#define PORTC6 6
und wurde von mir in meiner ~com~.h so ersetzt (weil ich es eben anders gewöhnt bin):
Code:
// === #defines der PortPins beim 328p ===========================================
// === Portpins sind beim 328p definiert als PINB1 bzw. PORTB1 ===================
// =================================================================================
#define PB0 0 // Pindefinition
#define PB1 1 // Pindefinition
#define PB2 2 // Pindefinition
#define PB3 3 // Pindefinition
#define PB4 4 // Pindefinition
#define PB5 5 // Pindefinition
#define PB6 6 // Pindefinition
#define PB7 7 // _ // Pindefinition _ _ _ Port B hier zu Ende
#define PC0 0 // Pindefinition
#define PC1 1 // Pindefinition
#define PC2 2 // Pindefinition
#define PC3 3 // Pindefinition
#define PC4 4 // Pindefinition
#define PC5 5 // Pindefinition _ _ _ PortC/PDIP328p nur bis PC5
Schien mir sicherer (weniger fehlerträchtig) als die neuen Pinbezeichnungen - vor allem, wenn ich mal wieder vom m328p auf den m168 zurückgehen will.
So - und nun schalte ich erstmal aus (und gehe noch ne Runde fliegen).
Danke für Deine Unterstützung-
Lesezeichen