M32C und #HOLD

Gast #72887
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?
Gast #72888
>>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
Gast #72889
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

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.