Доступ к мультиплексным контактам I2C и UART STM32F103 в arduino IDE

Я хочу получить доступ к мультиплексированным контактам I2C и UART в одной программе. Я программирую в Arduino IDE. Может кто-нибудь сказать мне, как получить доступ к одним и тем же контактам для разных функций?

, 👍0

Обсуждение

Я хочу использовать последовательную отладку и MPU6050 в своем приложении. Все остальные контакты заняты теми или иными датчиками и другими устройствами. Остались только PB6 и PB7. Это UART и I2C, и мне нужны оба., @Jackie

А как вы предлагаете убрать устройство I2C при использовании UART, и убрать соединение UART при использовании I2C?, @Majenko

Если выбранный вами MCU не имеет необходимых вам ресурсов, значит, вы выбрали неправильный MCU., @Majenko

у вас есть сетевое соединение на MCU? Wi-Fi или Ethernet? используйте Telnet для вывода отладки, @Juraj

Нет, у меня нет сетевого подключения в MCU., @Jackie

@Majko Могу ли я сделать это в программе? Это подключение устройств I2C и UART к одним и тем же контактам и выполнение TDMA. например, в течение 100 мс устройство UART будет отправлять информацию, а в течение следующих 100 мс устройство I2C будет отправлять данные. Когда одно устройство отправляет данные, другое устройство не будет активным., @Jackie

это единственное устройство I2C, которое вы используете?, @Juraj

Да. это единственный, @Jackie


2 ответа


1

Чтобы использовать два разных периферийных устройства на одних и тех же контактах, вам необходимо инициализировать I2C и деинициализировать UART при использовании I2C и сделать противоположное при использовании UART.

Не возможно инициализировать два разных периферийных устройства на одних и тех же контактах одновременно.

,

1

Вы не можете. (Ну, можно, но нельзя).

I2C и UART являются электрически несовместимыми шинными системами. UART — это двухтактная система, тогда как I2C — это система с открытым стоком. Двухтактные соединения будут мешать выходам с открытым стоком, и I2C не будет работать.

Если вы хотите использовать оба устройства, вам потребуется дополнительное оборудование (и необходимые контакты управления) для физической изоляции различных устройств от соответствующей шины, когда они не используются.

,

Могу ли я использовать мультиплексор для изоляции устройств?, @Jackie

как вы хотите управлять мультиплексором?, @Juraj

Только если это специализированный мультиплексор, который знает и UART, и I2C. И я сомневаюсь, что такое существует., @Majenko