- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 15

Thema: Kann Register nicht beschreiben - AFIO_MAPR - AF remap and debug I/O config register

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    - Takt auf AFIO geschaltet (RCC_APB2ENR, Bit 0 = 1).
    hat er doch meinte er!?
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    @Ceos:
    Okay, sorry, das habe ich jetzt im Code nicht gesehen.

    evtl. muss er auch noch den IOPBEN: IO port B clock enable einschalten ? da bin ich mir aber nicht sicher.
    Ich hab das bei meinen LPC Cortex Controllern auch,
    dass da etliche von Clocks erstmal eingeschaltet werden müssen,
    damit man auf die Register überhaupt zugreifen kann.

    Siro

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    05.10.2018
    Beiträge
    33
    Hallo und schönen Abend allerseits

    DANKE erstmal für die Antworten.

    . . . der Chip hat 64 Pins - also sollte der Remapp eigentlich funktionieren.
    . . . Takt für Port B und auch für AFIO ist AN.
    . . . CAN Rx -PB8 wurde auch schon mal ins input floating gesetzt - ohne Erfolg.

    In mehreren C-Codes mit Librarys wird der Rx Pin in GPIO_Mode_IPU = Input, Pull Up gesetzt. So habe ich es auch gemacht. Das ist aber erst für den CAN Daten Transfer wichtig, so weit ist es leider noch nicht.

    Die Frage ist eigentlich - wie kriegt man die AFIO zum laufen?
    Warum werden die Bits im AFIO_MAPR Register nicht gesetzt? Jedes Bit steht auf 0 und reagiert auf nichts.

    Die GPIO Register für Port B kann ich sogar in Eclipse in der View "Variable" mit neuen Werten belegen. Es geht.
    Das AFIO_MAPR reagiert auf gar nichts, kein Bit - so als ob das Register defekt ist oder keinen Takt bekommt.
    Ich meine - theoretisch kann natürlich schon mal was zu Bruch gehen aber - die Dinge sind ja fast unkaputbar, oder . . . ???
    Geändert von arwar52 (26.02.2019 um 20:30 Uhr)

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Ein defektes Register ist quasi ausgeschlossen, aber ich habe über die Suche nach ähnlichen Problemen 2 Dinge gefunden

    Zum einen scheint das Register WriteOnly zu sein, jedes zurücklesen wird also sinnlos sein. Wie sich das mit dem debug monitor verhält kann ich dir nicht sagen.

    Zum anderen lese ich immer weider von einem gelösten Issue mit der library aber keine konkreten Hinweise oder tiefer gehende Links, aber es hört sich so an als ob du mal deine Libarys und die IDE/Compiler auf Aktualisierungen prüfen solltest
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Ich hab hier auch noch was gefunden:
    Ob das weiterhilft weis ich aber nicht

    Klicke auf die Grafik für eine größere Ansicht

Name:	Errata_1.png
Hits:	4
Größe:	90,3 KB
ID:	34032
    Siro

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    05.10.2018
    Beiträge
    33
    . . . @ Siro
    Alle andere Schnittstellen habe ich schon ausgeschaltet - kein Takt, keine Aktivierung.
    Remapp muss, leider, sein da nur über PB8 und PB9 CAN mit dem auf Board verhandenen CAN Transiver connected ist.

    Aus RM0008 - Reference manual, Seite 184 - 185
    ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++
    Bits 14:13 CAN_REMAP[1:0]: CAN alternate function remapping
    These bits are set and cleared by software. They control the mapping of alternate functions
    CAN_RX and CAN_TX in devices with a single CAN interface.
    00: CAN_RX mapped to PA11, CAN_TX mapped to PA12
    01: Not used
    10: CAN_RX mapped to PB8, CAN_TX mapped to PB9 (not available on 36-pin package)
    ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++

    - - - Aktualisiert - - -

    @ Ceos " . . . Zum einen scheint das Register WriteOnly zu sein, jedes zurücklesen wird also sinnlos sein."

    Laut "RM0008 - Reference manual, Seite 184 - 185" " . . . STM32F103xx, . . ." ist der Register "ReadWrite".

    NUR Read - hat Sinn aus meiner Sicht, . . . was für ein Sinn steckt daninter ein Register NUR Writable zu machen???
    Obwohl auch in diesem Reg. sind die SWJCFG Bits NUR Writable ???

    Klicke auf die Grafik für eine größere Ansicht

Name:	AFIO_MARP.jpg
Hits:	1
Größe:	67,6 KB
ID:	34033

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Die Gründe sind sicher mannigfaltig, aber ja, es scheinen tatsächlich nur die Bits zu sein, also unwichtig für dein Problem ...

    bietet STM nicht üblicherweise auch ein Tool an mit dem man die Peripherie vorkonfigurieren kann?! Vielleicht findest du den notwendigen Trick in dem generierten Code?
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    05.10.2018
    Beiträge
    33
    Hab gerade noch was gefunden zu den SWJ_CFG . . .

    ++++++++++++++++++++

    Bits 26:24 SWJ_CFG[2:0]: Serial wire JTAG configuration
    These bits are write-only (when read, the value is undefined). They are used to configure the
    SWJ and trace alternate function I/Os. The SWJ (Serial Wire JTAG) supports JTAG or SWD
    access to the Cortex® debug port. The default state after reset is SWJ ON without trace.
    This allows JTAG or SW mode to be enabled by sending a specific sequence on the JTMS /
    JTCK pin.
    000: Full SWJ (JTAG-DP + SW-DP): Reset State
    001: Full SWJ (JTAG-DP + SW-DP) but without NJTRST
    010: JTAG-DP Disabled and SW-DP Enabled
    100: JTAG-DP Disabled and SW-DP Disabled
    Other combinations: no effect
    ++++++++++++++++++++

    Kann die Einstellung dieser Bits was bewirken?

Ähnliche Themen

  1. Stop Befehl = Register direkt beschreiben
    Von demmy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 19.03.2013, 17:19
  2. MPU6000 übernimmt Register nicht
    Von Che Guevara im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 14.12.2012, 18:32
  3. Register AT90CAN128 beschreiben
    Von kaempferin1 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 01.02.2006, 07:34
  4. Interne Register und Register in SRAM
    Von FoCus im Forum AVR Hardwarethemen
    Antworten: 9
    Letzter Beitrag: 27.07.2005, 12:06
  5. UART Bautraten Register beschreiben?
    Von kautz im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 01.03.2005, 09:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen