Membaca manual STM32F051, sepertinya memungkinkan untuk mengkonfigurasi fungsi alternatif yang sama pada dua pin; misalnya, Anda dapat memiliki beberapa USART1_TX pin secara bersamaan. Atau misalnya kasus dua pin USART_RX yang lebih bermasalah. Manual diam tentang hal ini. Apakah ini legal / aman? Apakah ini berguna?
10
Jawaban:
Pada prosesor yang menggunakan register per-pin untuk memilih fungsi I / O, umumnya dimungkinkan untuk merutekan fungsi output ke beberapa pin tanpa konflik; semua pin akan menggemakan output yang sama. Efek dari memiliki beberapa pin yang terhubung ke input sering tidak ditentukan; jika misalnya UART memiliki pin I / O 3 dan 4 yang terhubung ke UART, mungkin berperilaku seolah-olah UART terhubung ke gerbang "AND" yang mengambil pin 3 dan 4 sebagai input, atau mungkin berperilaku seolah-olah terhubung ke satu pin dan mengabaikan yang lain, atau itu mungkin menghubungkan kedua pin ke buffer input UART melalui transistor yang memiliki jumlah resistensi moderat, atau mungkin menarik arus ekstra ketika pin 3 tinggi dan 4 rendah atau sebaliknya, atau itu mungkin melakukan hal lain yang bisa dibayangkan. Saya tidak
Pendekatan desain yang agak lebih bagus, yang digunakan dalam beberapa bagian Microchip (mungkin beberapa bagian STM juga) adalah memiliki setiap fungsi I / O termasuk multiplexer untuk memilih pin mana yang harus menerima input, dan memiliki pin termasuk multiplexer untuk menunjukkan I / O fungsi dari mana ia harus mengeluarkan data. Desain seperti itu memungkinkan untuk memiliki satu pin fungsi ganda I / O feed, sekaligus menghilangkan ambiguitas yang ditimbulkan oleh konfigurasi yang saling bertentangan.
sumber
Ya, ini berguna. Hasil dari percobaan pada STM32F407VGT6: Kedua pin AF dapat digunakan sebagai AF secara bersamaan, setidaknya jika menggunakan pin ini sebagai input AF. Percobaan ini untuk memicu TIM1 pada sisi naik dari pemicu eksternal - sinyal "TIM1_ETR". Sinyal "TIM1_ETR" dapat dipetakan ke pin PE7 dan / atau PA12 paket MCU.
Eksperimen: Inisialisasi kedua pin PE7 dan PA12 sebagai AF "TIM1_ETR" untuk TIM1:
Hasilnya - TIM1 dimulai dengan naik ujung pada salah satu pin PE7 atau PA12.
Ini mengungkapkan cara untuk MUX (mengubah) pin AF dalam waktu berjalan:
Ini dapat membantu kemudian dua sumber berbeda diperlukan untuk memicu waktu, ini dapat menyelamatkan kita IC MUX offboard :). Kedua input dapat digunakan secara bersamaan, jika diinisialisasi seperti yang ditunjukkan di awal posting. Input tidak terhubung bersama, maksud saya sinyal pada PA12 tidak ditransfer ke PE7 dan sebaliknya (karena GPIO ditetapkan sebagai input).
Kode dihasilkan oleh "STM32CubeF4 v5.3" + "Paket Firmware V1.24.0 / 08-Februari-2019."
sumber
Pada dasarnya, pin adalah GPIO yang dapat ditugaskan ke fungsi alternatif, misalnya UART_RX. Setiap fungsi alternatif memiliki pin default dan pin alternatif yang fungsinya dapat dipetakan kembali. Jika Anda melihat manual referensi STM32F103 di bagian 9.1.5, mereka mengatakan:
sumber