Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Как оставить пин в открытом состоянии?

Пн авг 17, 2020 12:23:32

Всем привет!
Решил сделать рации на базе RDA1846S (SA818-U). Вот ссылка на мой проект в EasyEDA: https://easyeda.com/igor.silenock/rda1846s
На сколько я понял, по даташиту контакт H/L от RDA1846S должен быть либо подтянут к земле, либо "болтаться в воздухе".
Цитата:
high/low output power control; Leave open for high output power,low level to low output power. (Please kindly note: this pin can NOT be connected to VDD or high level of cmos output)
Так как я буду управлять при помощи Atmega328, то оставить пин в "подвешенном" состоянии не получится. Либо логический 0 (подтяжка к земле), либо 1 (то же что и питание).
Возникает вопрос: как правильно сделать развязку, чтобы при управлении с МК логический 0 подтягивал контакт H/L к земле, а логическая 1 оставляла контакт свободным?
Я пробовал в сети найти ответ, но мне выдает только STM32, где есть возможность задать пину Высокоимпедансное состояние, но в Атмеге это нельзя сделать. Можете подсказать как решить этот вопрос?

Re: Как оставить пин в открытом состоянии?

Пн авг 17, 2020 12:31:44

сделать выход через открытый коллектор...

Re: Как оставить пин в открытом состоянии?

Пн авг 17, 2020 12:33:19

Так как я буду управлять при помощи Atmega328, то оставить пин в "подвешенном" состоянии не получится. Либо логический 0 (подтяжка к земле), либо 1 (то же что и питание).

Как эта Atmega328 с порта читает, если на выходе всегда 0 или 1?

Re: Как оставить пин в открытом состоянии?

Пн авг 17, 2020 12:38:16

forfrends писал(а):мне выдает только STM32
Ставьте его. Будет даже лучше, а Atmega давно устарела.
Последний раз редактировалось Мурик Пн авг 17, 2020 15:00:51, всего редактировалось 4 раз(а).

Re: Как оставить пин в открытом состоянии?

Пн авг 17, 2020 12:42:27

Так как я буду управлять при помощи Atmega328, то оставить пин в "подвешенном" состоянии не получится. Либо логический 0 (подтяжка к земле), либо 1 (то же что и питание).

Я пробовал в сети найти ответ, но мне выдает только STM32, где есть возможность задать пину Высокоимпедансное состояние, но в Атмеге это нельзя сделать.

Вы где такие глупости прочитали? Конфигурите пин как вход без подтяжки - вот вам и "Высокоимпедансное состояние".

Добавлено after 3 minutes 12 seconds:
Возникает вопрос: как правильно сделать развязку, чтобы при управлении с МК логический 0 подтягивал контакт H/L к земле, а логическая 1 оставляла контакт свободным?

Вам это не нужно. Всегда ОК на атемеге реализуется через переключение направления порта в регистре DDRx. В PORTxn главное 1 не пишите, только DDRxn переключайте.
Изображение
Когда DDRxn - 0, будет в воздухе болтаться, когда 1 - будет низкий уровень на выходе.
Вложения
Screenshot_20200817_123909.png
(26.61 KiB) Скачиваний: 318

Re: Как оставить пин в открытом состоянии?

Пн авг 17, 2020 13:09:37

Спасибо большое за помощь!
Ответить