LusoRobótica - Robótica em Português

Sistemas específicos => ARM => Tópico iniciado por: vasco em 20 de Março de 2018, 23:11

Título: STM32 bluepill pinout
Enviado por: vasco em 20 de Março de 2018, 23:11
Boa noite,

Deixem-me fazer uma pergunta estúpida, porque é que os bonecos com o pinout do Blue Pill têm o SPI-1 nos pinos PA15, PB3, PB4 e PB5 (funca) e também nos PA7, PA6, PA5 e PA4 (não funca)-  :'(

Estava a passar-me com isto, tinha conseguido ligar o Maple Mini sem problemas a uma matrix de leds, só que pelos vistos o Maple Mini não tem instalado o cristal para o RTC, portanto fui ligar um Blue Pill que tem o cristal, e não estava a conseguir por esta !"#$"#!"#$!"## a trabalhar <gritar>porque estava a ligar nos pinos que não funcam !!!!</gritar>
Só para saber, há alguma razão para isto vir assim nos bonecos ? Há alguma configuração que se faça para por o SPI-1 no segundo conjunto de pinos ? O SPI-2 não tem esta duplicação de pinos...
Título: Re: STM32 bluepill pinout
Enviado por: ricardo-reis em 21 de Março de 2018, 00:23
http://www.stm32duino.com/viewtopic.php?t=278

vê isto..
Título: Re: STM32 bluepill pinout
Enviado por: vasco em 21 de Março de 2018, 09:14
Nope, eu não estava a falar do SPI-1 e SPI-2, mas sim do facto de nos pinouts aparecerem 2 sets de pinos labeled como sendo do SPI-1.

É curioso que ele tenha conseguido por a trabalhar o SPI-1 em

Using the first SPI port (SPI)
SS   <-->PA4
SCK   <-->PA5
MISO   <-->PA6
MOSI   <-->PA7

Pelo menos comigo isso não funcionou, mas como eu não estou a trabalhar diretamente com o SPI estou a usar as libs md_parola e md_max72xx é possivel que os pinos do outro set estejam de algum modo hardcoded algures.
Título: Re: STM32 bluepill pinout
Enviado por: jm_araujo em 21 de Março de 2018, 11:04
Sem mostrares o código é difícil de saber se estás a fazer tudo bem.
Alteraste o SPI1_REMAP para mapear o SPI1 para os pinos que pretendes?
(https://lusorobotica.com/index.php?action=dlattach;topic=9310.0;attach=4429)
Título: Re: STM32 bluepill pinout
Enviado por: vasco em 21 de Março de 2018, 14:44
Sem mostrares o código é difícil de saber se estás a fazer tudo bem.
Alteraste o SPI1_REMAP para mapear o SPI1 para os pinos que pretendes?

Não há código para mostrar, apenas a linha de inicialização do md_parola e o #define do CS_PIN, e, evidentemente os pinos onde liguei os fios. Se ligar nos PA7, PA6, PA5 e PA4 não funciona, se ligar nos PA15, PB3, PB4 e PB5 funciona, portanto é evidente que o SPI1_REMAP está ativo.

Se alterei o SPI1_REMAP foi por acidente, nem sei o que é... :-) Vou dar uma vista de olhos no código das libs, pode ser que seja um #define.

Essa tabela vem da datasheet do STM32F103C8 ?
Título: Re: STM32 bluepill pinout
Enviado por: jm_araujo em 21 de Março de 2018, 15:00
No RM0008 - Reference manual(link (http://www.st.com/content/ccc/resource/technical/document/reference_manual/59/b9/ba/7f/11/af/43/d5/CD00171190.pdf/files/CD00171190.pdf/jcr:content/translations/en.CD00171190.pdf)), página 180, secção 9.3.1

Se não o definiste, está aí o teu problema. O SPI funciona num grupo de pinos ou noutro, e em qual deles depende do estado desse bit.

Título: Re: STM32 bluepill pinout
Enviado por: senso em 21 de Março de 2018, 18:35
Inb4 é SPI bit-banged, usar bibliotecas tão ás cegas que nem sabes que pinos elas usam :/
Título: Re: STM32 bluepill pinout
Enviado por: vasco em 22 de Março de 2018, 12:17
Os docs da lib (md_max72xx) diz que suporta spi (hardware) onde só tens que passar o pino CS.
Dado que não tenho limitação de pinos foi isso que usei, só fui apanhado na curva por causa da história do alternate spi que deve dar jeito em certas condições mas não faço ideia porque é que estará a ser selecionado.
Curiosamente não me aconteceu com o Maple mini, mas deve ter sido uma questão de sorte, porque o boneco que eu estava a usar só identifica um conjunto de pinos para o SPI-1, entretanto já encontrei outro onde estão identificados os dois sets.

Em minha defesa tenho a dizer que normalmente abro as libs, mas é mais à procura de #defines e comentários interessantes, e não para ver como funcionam. Tenho o bichinho de saber como as coisas funcionam, mas nem sempre a capacidade de o fazer.