Ich habe unter Mikroe mit dem Parameter GPIO_Alternate_Function_Enable(@_GPIO_MODULE_SWJ_JTAGDISABLE ); Jtag abgeschaltet, nun blinkt B3 auch ordnungsgemäß, B4 blink nun ebenfalls, allerdings blinkt B4 invertiert?! Muss noch was umgestellt werden?
Aus dem dürren Wort "Mikroe" wird sich kaum jemand etwas zusammenreimen können. Du wirst schon etwas detailierter beschreiben müssen was du tust und womit.
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?
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.
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 "
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:-)
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. |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.