Bluepill STM32F103 Port B3 und Port B4

Gast #7504375
Lesenswert?

Unabhängig von Mikroe, geht es um die alternativen Portfunktionen vom STm32F103 Diese habe ich aktiviert für Port B3 UND B4 aber nun ist B4 invertiert, was gilt es zu beachten? Warum ist B4 invertiert?

#7504379
Lesenswert?

Max M. schrieb:

nun blinkt B3 auch ordnungsgemäß, B4 blink nun ebenfalls, allerdings blinkt B4 invertiert?!

Ist das eine Frage oder eine Aussage? Ich sehe Ausrufezeichen und Fragezeichen an einem Satz gleichzeitig.

Portpins können nicht blinken, daher:

Wastl schrieb:

Du wirst schon etwas detailierter beschreiben müssen was du tust und womit.

Das einzige was auf dem BluePill blinken kann ist die LED die an einem Port hängt, und dieser Portpin ist PC13. Also weder Port B Pin 3 noch Port B Pin 4.

Gast #7504383
Lesenswert?

Habe es mit AFIOEN_bit:=1;

SWJ_CFG0_bit:=0; SWJ_CFG1_bit:=1; SWJ_CFG2_bit:=0;

auch SWJ_CFG0_bit:=0; SWJ_CFG1_bit:=0; SWJ_CFG2_bit:=1; funktioniert nicht Port B 4 blinkt immer invertiert

Versucht, und dabei gibt es diesen Effekt

"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 "

Angehängte Dateien:
Gast #7504393
Lesenswert?

AHHHH, hat sich erledigt. Port B.4 blinkte invertiert, da ich einfach nur mit GPIOB_ODR := not GPIOB_ODR;

Das komplette Port getoggelt habe. Im Gegensatz zu allen anderen Ausgängen, steht dieser nach der Umstellung der AF Invertiert und invertiert daher natürlich auch weiter. Wenn man erstmal alle Outs auf z.B. 0 setzt, blinkt alles im Gleichtakt:-)

Genug für heute:-)

Gast #7504395
Lesenswert?

Da das Problem ja ein häufiges ist, einmal mehr eine Lösung um anderen Anfängern es leichter zu machen In diesem Beispiel für Mikro mit Mikroe Pascal für ARM

So funktioniert es mit PB3 und PB4 beim Bluepill STM32F103

1
program STM32F103_Bluepill;
2

3
{ Declarations section }
4
{ Declarations section }
5

6
begin
7
 //SWJ_CFG0_bit:=0;
8
 //SWJ_CFG1_bit:=1;
9
 //SWJ_CFG2_bit:=0;
10
 GPIO_Digital_Output(@GPIOA_BASE, _GPIO_PINMASK_ALL); // Set PORTA as digital output
11
 GPIO_Digital_Output(@GPIOB_BASE, _GPIO_PINMASK_ALL); // Set PORTB as digital output
12
 GPIO_Digital_Output(@GPIOC_BASE, _GPIO_PINMASK_ALL); // Set PORTC as digital output
13
 GPIO_Alternate_Function_Enable(@_GPIO_MODULE_SWJ_JTAGDISABLE );
14

15
GPIOB_ODR:=0x0000;
16

17
While TRUE DO
18
 begin
19
 { Main program }
20
   GPIOB_ODR := not GPIOB_ODR; // Toggle PORTB
21
   delay_ms(1000);
22
 end;
23
end.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren