mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik M32C und #HOLD


Autor: Bernd Schubart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich benutze einen M32C83 und habe ein kleines Problem:

Ich betreibe ihn im Memory Expansion Mode, und habe noch einen weiteren
Controller am Bus des uC hängen.
Um dem anderen Controller den Bus zu überlassen, muss ich den Bus des
M32C in Tristate versetzen... ich habe nun einfach einen Port-Pin des
M32C mit #HOLD verbunden (+Pullup), und setze ihn in der Software auf
Low. Das geht auch soweit, nur steht dann der komplette
Mikrocontroller, er scheint dann gar nix mehr zu machen, auch nichts
internes.
Es scheint auch so, dass der Bus nicht in Tristate geht, da der andere
Controller den Bus nicht treiben kann...

Hat jemand eine Idee woran das liegen könnte?

Autor: MooseC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>ich habe nun einfach einen Port-Pin des
M32C mit #HOLD verbunden (+Pullup), und setze ihn in der Software auf
Low

sehr kritisch! Damit schickst Du den M32C dauerhaft in die externe
Buszuteilungsmode. Wie soll er denn sich selbst wieder den Bus
zuteilen, wenn sein Programm steht. Der /HOLD Eingang muß von der
Hardware auf low gezogen werden, die den Bus erhalten soll, also Dein
2. Controller. Der M32C antwortet mit den /HLDA = low als Bestätigung,
das der Bus nun frei ist. Der 2. Controller muß den Bus dann auch
irgendwann wieder freigeben.
Die Peripherie im M32 bleibt aktiv, nur der Watchdog steht solange.
Auch die Bus-Clock BCLK läuft weiter.
Allerdings können Inetrrupts von der I/O (UART etc) nicht verarbeitet
werden, solange der M32C steht.

MooseC

Autor: Bernd Schubart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso.
Da habe ich wohl grundsätzlich etwas falsch verstanden.
Ich dachte, durch den #HOLD Pin wird lediglich der Bus freigegeben,
aber man kann im Programm noch andere Dinge machen, die eben NICHT den
Bus benutzen.
Aber wenn Du sagst dass dann das Programm steht, ists natürlich
logisch. Dann muss ich das anders machen, danke.

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.