Hallo,
ich versuche verzweifelt den PORTC des atmega32 zu verwenden.
In der Zwischenzeit verwende ich folgendes Minimalprogramm zum Test:
1
#include<avr/io.h>
2
3
#define nop() __asm ("nop;")
4
5
voidDelay(void)
6
{
7
for(uint16_tcnt2=0;cnt2<0xFFFF;cnt2++)nop();
8
}
9
10
intmain(void)
11
{
12
DDRC=0xFF;
13
while(1)
14
{
15
PORTC=0xFF;
16
Delay();
17
PORTC=0x00;
18
Delay();
19
};
20
}
Aber die Pins haben meist statische Pegel, egal was ich mache.
PC0 = T, PC1 = T, PC2 = 1, PC3 = 1 , PC4 = 0, PC5 = 0, PC6 = T, PC7 = T
"T" Bedeutet einen Takt, der meinem obigen Programm entsprechen dürfte.
Da ich sonst keine Register setze, sollten es doch normale Portpins
sein, so verstehe ich zumindest das Datenblatt. Alle anderen Pins sind
OK soweit.
Jemand ne schnelle Idee ?
Danke
Juergen
> wieso ist den by default das JTAG Aktiv?
Weil es eine der möglichen Programmierschnittstellen ist. Du kannst
mit JTAG programmieren, ohne einen ISP-Adapter zu besitzen.
Kannste entweder permanent per Fuse abstellen oder zur Laufzeit per
JTD.
Danke für die Antworten
Das klinkt ja alle Logisch, nur steht nirgends das das per Default an
ist.
Leider bin ich erst zu spät darauf gekommen einfach die Fuses auszulesen
:-(
Gruss
Juergen
Da gibt's doch ein Buch von Michael Ende?
... ach ja, "Die unendliche Geschichte".
Sollte eigentlich "JTag und der PORTC" heißen, aber als Kontrast zu
seinem Namen wählte er den endlosen Titel.
;-) Werner
P.S.
Hat einer mitgezählt wer den Rekord hält?
ATmega128 mit der M103 Fuse oder ATmega16/32 mit JTag Fuse?
Werner B. wrote:
> Hat einer mitgezählt wer den Rekord hält?>> ATmega128 mit der M103 Fuse oder ATmega16/32 mit JTag Fuse?
Ach was. Das hier:
http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_fuses
hab' ich geschrieben, nachdem ich einen Abend lang auf einem
ATmega128 gesucht habe, warum mein Port F nicht richtig
funktioniert. M103C war ja offensichtlich...
Naja, dann kann ich nur hoffen das bei meinem Display Problem (Siehe
anderes Posting "LCD und mega32") Fuse XYZ oder Fuse 0815 noch zusetzen
ist :-)
Da bin ich echt am Verzweifeln.
Alles in Allem sind das die Fehler die man Theoretisch nie vergisst ;-)
Gruss
Juergen
Also, ich hab mir an PICs ja auch schon die Zähne ausgebissen, weil
irgendwelche Ports "analog by default" sind, und die Fuses meines ersten
AVRAT90CAN128 haben mich auch ins Schleudern gebracht, aber.......
"M103C" ist der Hammer. Habs mir gerade mal angesehen gg
@Peter Dannegger
>Dann gibts ja auch noch die Leute, die völlig unverständlicher Weise>annehmen, die SPI-Programmierung des ATMega128 ginge über die SPI-Pins.
Naja, die SPI Programmierung geht schon über die SPI-Pins. Meistens
wollen die Leute aber ISP programmieren ;-)
MfG
Falk
Falk wrote:
> @Peter Dannegger>>>Dann gibts ja auch noch die Leute, die völlig unverständlicher Weise>>annehmen, die SPI-Programmierung des ATMega128 ginge über die SPI-Pins.>> Naja, die SPI Programmierung geht schon über die SPI-Pins. Meistens> wollen die Leute aber ISP programmieren ;-)
Im Datenblatt steht aber auch "SPI Serial Programming".
ISP heißt In-System-Programming und damit ist alles gemeint, was in der
Schaltung geht, also z.B. SPI-, JTAG-, Debugwire-,
Bootloader-Programming.
Peter
@Peter Dannegger
>Im Datenblatt steht aber auch "SPI Serial Programming".>ISP heißt In-System-Programming und damit ist alles gemeint, was in der>Schaltung geht, also z.B. SPI-, JTAG-, Debugwire-,>Bootloader-Programming.
Na dann hat Atmel den Bock geschossen. Shit happens.
MFG
Falk
Atmel stiftet da sowieso ordentlich Verwirrung. Bei allen Controllern
liegen die ISP Pins an der SPI Schnittstelle. Nur beim Mega128 (und dazu
kompatiblen) liegt MOSI und MISO auf einem USART. Haben vielleicht
gehofft das sich ein serielles Kabel durchsetzt das direkt über einen
MAX232 programmieren kann? Ach ne, MAX232 reicht nicht. Man braucht 3 Rx
Treiber (MOSI, SCK und RST).
Jedenfalls ging das nach hinten los