Перейти к содержанию

Помогите С Передачей Данных


maksim586

Рекомендуемые сообщения

Всем привет. Подскажите пожалуйста как реализовать программно передачу например какого нибудь числа по1 линии бит за битом. Среда code vision avr. Может есть у кого нибудь пример

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

1-Wire не подходит? Или вопрос академический , изобрести велосипед с целью полного понимания его устройства, то тогда другое дело

В CVAVR откройте Хелп раздел Library Functions Reference > 1 Wire Protocol Functions

Также смотри все исходники с TouchMemory ключами и 1wire термометрами фирмы Dallas

абыр абыр абырвалг...

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Может вопрос стоит как число из регистра, например 16 бит, последовательно передать по одному проводу?

Тогда это делается на регистре сдвига: число записывается в регистр сдвига, провод подключается к младшему биту этого регистра. Регистр сдвигает число внутри себя, тем самым на проводе периодически меняются биты и число передаётся последовательно.

Это нужно что ли?

Ссылка на комментарий
Поделиться на другие сайты

Просто надо учить людей правильно задавать вопросы, иначе такие топики будут всегда.

А ещё надо включить по умолчанию отправку сообщений на почту об ответах в топике.

Ссылка на комментарий
Поделиться на другие сайты

1-Wire - это интерфейс для двухсторонней связи по двум линиям.

По 2-м линиям :blink: ?

А вторая какая? Не земля ли часом? Тогда любая линия связи минимум 2-х проводная.

Да и зачем тут эти сложности с программно-эмулируемым 1-wire? Чем обычный древний UART не угодил?

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

А вторая какая? Не земля ли часом?
Она самая. Или это уже за "провод" не считается ? :)
Тогда любая линия связи минимум 2-х проводная
Конечно. Хотя, ТС может думает, что можно по 1 проводу что-то передать :) Я не зря написал эту фразу. И был уверен, что кто-нибудь её процитирует.
Да и зачем тут эти сложности с программно-эмулируемым 1-wire? Чем обычный древний UART не угодил?
О чём я и толкую...
Ссылка на комментарий
Поделиться на другие сайты

Если с мастером новичок хоть как-то сможет разобраться, то со слейвом будет точно гемор... Проще заюзать УАРТ или своё что-нибудь состряпать...

PS: Ещё бы знать, что ТС'у нужно... Ничего не написал. Что, для чего, скорость, расстояние, ...

Ссылка на комментарий
Поделиться на другие сайты

Во-во.

Мрак короче ...

Если ТС нужно именно программно, например, для лабы в институте, можно таймер запустить и в прерывании по переполнению пулять на ногу битики.

Типа такого:

volatile unsigned char val, bitCount=8;
volatile unsigned char isTransferComplete=0;

interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value - подставить что надо
TCNT0=0xCE;	 // Доп. делитель - 0x100-0xCE=50 - Fпрер = 250kHz/50=5kHz

if ( bitCount == 0)
return;

if ( (val&0x01) != 0)
PORTB.1 = 1;
else
PORTB.1 = 0;

val >>= 1;
bitCount --;

if (bitCount == 0)
isTransferComplete=0;
}

Может чего прозевал - звыняйте :) .

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

Просто вы Alex вводите народ в заблуждение говоря о 1-Wire , как о интерфейсе с обменом данными по двум линиям.

Бывалые поймут о чем речь, а новечки в последствии могут запутаться. Данные 1-Wire передаются по одной линии, вторая это просто нулевой петенциал , "точка отсчета" и т д.

В поисках работы..

Looking for job

Ссылка на комментарий
Поделиться на другие сайты

В заблуждение вводите, как раз, Вы. Бывалые и так поймут что и по скольким проводам передаётся, а новички могут подумать, что нужен всего один провод, не взяв в расчёт нулевой. Или Вы его тоже не считаете за сигнальную линию ? Куда тогда по Вашему течёт ток ? Где замкнутая цепь ?

1-Wire - интерфейс именно 2-х проводный. Если покажите мне схему, в которой имеется только один провод для подключения устройств (сенсоры температуры, ID-таблетки, ... ), - заберу свои слова обратно.

Ссылка на комментарий
Поделиться на другие сайты

путаете теплое с мягким. Вы говорите про гальваническую связь. А говоря о протаколах подразумевают кол-во линий, способных менять потенциал.

В поисках работы..

Looking for job

Ссылка на комментарий
Поделиться на другие сайты

Может вопрос стоит как число из регистра, например 16 бит, последовательно передать по одному проводу?

А может нет?Погадаем? :crazy:

.. подразумевают кол-во линий, способных менять потенциал.

или силу тока

Изменено пользователем ferrum

абыр абыр абырвалг...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...