STM32F103 remap av pinnar?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Korken
Inlägg: 2230
Blev medlem: 3 februari 2006, 19:19:36
Ort: Luleå, Porsön

STM32F103 remap av pinnar?

Inlägg av Korken »

Godagens!

Jag håller på och designar ett schema med en STM32F103C6T6 och jag har ett problem.
När jag designar så använder jag USARTen, men bara RX & TX, och på RTS och CTS behöver jag ha vanliga inputs som jag kan köra interrupts på.
Går det att "remapa" så RTS och CTS inte används så det blir vanliga ingångar?

Jag har letat livet ur mig i RM0008 (referensmanualen) men lyckas inte hitta hur man gör och vad jag vet så ska Cortex-M3 stödja detta (kan göra det med lätthet på min LPC1768).
Kan någon hjälpa mig i rätt riktning?

Mvh
Emil Fresk
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: STM32F103 remap av pinnar?

Inlägg av lizerdboy »

kolla på sida 166 i RM0008
eller sök på "USART alternate function remapping" i RM0008

CTSIE: CTS interrupt enable
0: Interrupt is inhibited
1: An interrupt is generated whenever CTS=1 in the USART_SR register

CTSE: CTS enable
0: CTS hardware flow control disabled
1: CTS mode enabled, data is only transmitted when the nCTS input is asserted (tied to 0).

RTSE: RTS enable
0: RTS hardware flow control disabled
1: RTS interrupt enabled, data is only requested when there is space in the receive buffer.

Med denna info så borde jag lugnt kunna säga att du kan använda dom andra pinnarna till ingångar med interupt.
SvenW
Inlägg: 1156
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Re: STM32F103 remap av pinnar?

Inlägg av SvenW »

Glöm bara inte att distribuera klockan till remapfuntionen:
RCC_APB2PeriphClockCmd (RCC_APB2Periph_AFIO, ENABLE);
Det tog mig minst en dag att fatta att även detta behövde göras!
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: STM32F103 remap av pinnar?

Inlägg av snigelen »

Men menar du remap som i att flytta funktionen till en annan pinne? Eller bara att du vill använda CTS/RTS pinnarna som vanlig IO?

I det senare fallet så är det väl bara låta bli att sätta RTSE/CTSE i USARTx->CR3, dvs inte slå på hårdvaru-flödes-kontroll.

Jag har t.ex. använt PA11/USART1_CTS som utgång samtidigt med USART1 och SPI2. USART3 och SPI2 samtidigt där SPI2_MISO/USART3_RTS är på samma pinne (på STM32F100RBT6).

Edit: tog bort (alternate function) eftersom det inte var det jag menade.
Användarvisningsbild
Korken
Inlägg: 2230
Blev medlem: 3 februari 2006, 19:19:36
Ort: Luleå, Porsön

Re: STM32F103 remap av pinnar?

Inlägg av Korken »

Tackar så mycket för svaren!
Jag vill bara använda pinnarna som vanlig IO, så då är det bara å inte slå på HW flow controll. De va enkelt. :)

Tack igen!
Skriv svar