www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega32 - BasCom


Autor: Johannes Weiler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gerd Laschinski (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stell mal deinen Code ins Netz, ist wahrscheinlich, da du Anfänger bist,

ein Softwaremäßiges Problem

Autor: Peter Dannegger (Gast)
Datum:

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


Peter

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

Gruss
Johannes

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

Gruss
Johannes

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.