mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32(Keil, MCBSTM32E) GPIOA Pin15 lässt sich nicht setzen


Autor: AKKS (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem mit dem Setzen eines Pins von GPIOA auf einem 
MCBST32E. Ich benutze µV4.

Der Pin 15 lässt sich nicht setzen, die Pins von GPIOB funktionieren 
einwandfrei.
  /*----------Begin Init Port A----------*/
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;      //USART TX
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

  GPIO_Init(GPIOA, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  //USART RX
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;        

  GPIO_Init(GPIOA, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      //LTC2440
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_7 | GPIO_Pin_15;  // SCK, MOSI, /CS

  GPIO_Init(GPIOA, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  //LTC2440 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;        //MISO        

  GPIO_Init(GPIOA, &GPIO_InitStructure);

  /*----------End Init Port A----------*/

Hat da jemand eine Idee?

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die initialisierung sieht gut aus.

Für UART/SPI braucht es noch sowas:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

Autor: AKKS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mein Problem ist der Pin15. Der USART funzt einwandfrei.

Ich will einen Software-SPI schreiben, da ich 32Bit am Stück übertagen 
muss. Deswegen also keine alternate funktion.

AKKS

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AKKS schrieb:

> Ich will einen Software-SPI schreiben, da ich 32Bit am Stück übertagen
> muss.

Seltsame Begründung. Warum sollte das mit Hardware-SPI nicht möglich 
sein?

Autor: AKKS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil ich in der Doku auf folgendes gestoßen bin:

#define IS_SPI_DATASIZE ( DATASIZE    )

Value:
(((DATASIZE) == SPI_DataSize_16b) || \
                                   ((DATASIZE) == SPI_DataSize_8b))
Definition at line 157 of file stm32f10x_spi.h.

Referenced by SPI_DataSizeConfig(), and SPI_Init().

Autor: bubi_00 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß zwar spontan nicht warum es der Pin sich nicht setzen lässt...es 
hinder dich aber beim SPI niemand daran 2x16Bit bzw 4x8Bit zu 
übertragen.../CS musst du sowieso von Hand setzen.

Autor: AKKS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja gut, merke ich mir.

Der Fehler liegt darin, dass GPIOA_Pin15 zum JTAG-Port gehört.
Hätte ich das Board-Layout vom MCBSTM32 wär ich wohl schneller drauf 
gekommen. Hat das Jemand?

Autor: STM32User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo AKKS,

wie wäre es mit dem Schaltplan, da steht alles drin, auch der Pin A15:

http://www.keil.com/mcbstm32/mcbstm32-schematics.pdf

Gruß

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.