Lendo o manual STM32F051, parece possível configurar a mesma função alternativa em dois pinos; por exemplo, você pode ter vários pinos USART1_TX ao mesmo tempo. Ou, por exemplo, o caso mais problemático de dois pinos USART_RX. O manual é silencioso neste caso. Isso é legal / seguro? Isso é útil?
10
Respostas:
Em processadores que usam registradores por pinos para selecionar funções de E / S, geralmente é possível rotear uma função de saída para vários pinos sem conflito; todos os pinos ecoam a mesma saída. O efeito de ter vários pinos conectados a uma entrada geralmente não é especificado; se, por exemplo, um UART tivesse os pinos de E / S 3 e 4 conectados a um UART, ele poderia se comportar como se o UART estivesse conectado a uma porta "AND" que utilizasse os pinos 3 e 4 como entradas, ou ele poderia se comportar como se estivesse conectado a um pino e ignore o outro, ou ele pode conectar os dois pinos ao buffer de entrada do UART por meio de transistores que tenham uma quantidade moderada de resistência, ou pode extrair corrente extra quando o pino 3 estiver alto e 4 estiver baixo ou vice-versa, ou pode fazer qualquer outra coisa imaginável. Eu não'
Uma abordagem de design um pouco mais agradável, usada em algumas peças do microchip (talvez também em peças STM) é fazer com que cada função de E / S inclua um multiplexador para selecionar de qual pino deve aceitar a entrada e que o pino inclua um multiplexador para indicar o I / O função a partir da qual deve gerar dados. Esse projeto possibilita que um pino alimente várias funções de E / S, enquanto elimina simultaneamente quaisquer ambiguidades impostas por configurações conflitantes.
fonte
Sim, é útil. Resultado da experiência no STM32F407VGT6: Os dois pinos AF podem ser usados como AF simultaneamente, pelo menos se forem usados como entradas AF. O experimento foi acionar o TIM1 na borda ascendente do sinal de acionamento externo - sinal "TIM1_ETR". O sinal "TIM1_ETR" pode ser mapeado para os pinos PE7 e / ou PA12 do pacote MCU.
O experimento: inicialize os pinos PE7 e PA12 como AF "TIM1_ETR" para TIM1:
O resultado - TIM1 é iniciado pela borda ascendente em qualquer um dos pinos PE7 ou PA12.
Isso revela o caminho para os pinos AF MUX (mudança) no tempo de execução:
Isso pode ser útil, pois são necessárias duas fontes diferentes para o disparo do temporizador; isso pode nos salvar do MUX IC externo :). Ambas as entradas podem ser usadas simultaneamente, se inicializadas como mostrado no início do post. As entradas não estão conectadas juntas, quero dizer que o sinal no PA12 não é transferido para o PE7 e vice-versa (porque os GPIOs são definidos como entradas).
O código é gerado pelo "STM32CubeF4 v5.3" + "Pacote de firmware V1.24.0 / 08-fevereiro-2019."
fonte
Basicamente, os pinos são GPIOs que podem ser atribuídos a funções alternativas, por exemplo, UART_RX. Toda função alternativa possui seu pino padrão e pinos alternativos nos quais a função pode ser remapeada. Se você verificar o manual de referência do STM32F103 na seção 9.1.5, eles dizem:
fonte