Forum: Mikrocontroller und Digitale Elektronik Atmega32 - BasCom


von Johannes Weiler (Gast)


Lesenswert?

Hallo,

befasse mich seit kurzem mit dem Atmega32.
Und habe mit BasCom (Demo-Version) erste Testprogramme geschrieben.
Dabei tritt es bereits bei einfachen Anweisungen auf,
dass die IO-Zuordnung der Bits harwaremässig und
sw-mässig nicht zusammen passt.

Vieleicht hat jemand ein paar Hinweise hierzu.

Ausserdem habe ich die Frage,
wie die Fuses z.B. über das AVR ISP gesetzt werden müssen
dass der externe Quarz als Oscillatorquelle genutzt wird.

Danke & viele Grüsse
Johannes

von Gerd Laschinski (Gast)


Lesenswert?

Hallo Johannes,

was meinst Du damit?
>Dabei tritt es bereits bei einfachen Anweisungen auf,
>dass die IO-Zuordnung der Bits harwaremässig und
>sw-mässig nicht zusammen passt.

Hast Du mit Options->Compiler->Chip den richtigen Chip eingestellt,
bzw. hast Du die Anweisung $regfile = "m32def.dat" in Deinem
Programm?

Die Fuses CKSEL3..0 müssen auf "External Crystal/Ceramic Resonator"
eingestellt werden. Das steht im Datenblatt des AVR.

Gruß
Gerd

von Johannes (Gast)


Lesenswert?

Hallo Gerd,

Ich meinte wenn ich einfach nur
auf die Ports mehrere set und reset-befehle
ausführe,...

Für den Controller ist m32def.dat ausgewählt.

Was ich inzwischen herausgemessen habe:
wenn ich alle IOs von Port C auf 0 setze,
und nur IO2 auf 1 dann kommt auch IO3 auf 1,
in der Schaltung ist kein kurzschluss,
auch im Contrller ist kein messbarer Kurzschluss.

Was denkt ihr ?

Danke und Viele Grüsse
Johannes

von Tobias (Gast)


Lesenswert?

stell mal deinen Code ins Netz, ist wahrscheinlich, da du Anfänger bist,

ein Softwaremäßiges Problem

von Peter Dannegger (Gast)


Lesenswert?

Wenn ich Port C höre, steht sofort in meiner Kristallkugel: JTAG-Fuse.


Peter

von Johannes (Gast)


Lesenswert?

Hallo,

hier der einfache Code:


$regfile = "m32def.dat"
$crystal = 1000000



Dim I As Integer

Config Porta = Input
Config Portc = Output
Config Portd = Output

Config Pinb.0 = Output
Config Pinb.1 = Output


En Alias Portb.0
Rs Alias Portb.1


Reset En
Reset Rs
Portc = 00110100
Portd = 01010101

Letztenendes möchte ich an Port C ein LCD Display anschliessen
am liebsten im 4-Bit Modus, vieleicht habt ihr ein paar Hinweise,
ob das der im BasCom vorgesehenen Konfiguration so unkompliziert
möglich ist.

Danke für euere Infos !

Gruss
Johannes
Falls Ihr noch ein pa

von Johannes (Gast)


Lesenswert?

Hallo,

noch eine Anmerkung -
Die Zuweisung an Port C war
Portc = 00100000,
und troztdem ist Bit3 auch 1

Gruss
Johannes

von Johannes (Gast)


Lesenswert?

Hallo,

gleich wieder:
Das mit der JTAG Fuse war ein guter Hinweis - Danke !!!!

Gruss
Johannes

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.