Как отправить байт на вывод микроконтроллера

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 157
Зарегистрирован: Пн дек 04, 2006 09:50:08
Откуда: Vladivostok

Сообщение Артур »

Здравствуйте!
Подскажите пожалуйста как обычно отправляют байт на один вывод микроконтроллера?
Я не могу понять - в байте восемь бит, а вывод у нас один.
Например у меня 2 микроконтроллера, я хочу чтоб с вывода одного микроконтроллера передалось число 0х45h на вывод другого а другие числа чтоб игнорировались.
Но вывод то один а число 0х45 будет равно в двоичном виде 0b1000101 и как его передать? Спасибо!
Век живи! - Век учись!
ICQ-15B87330h
Реклама
Родился
Сообщения: 1
Зарегистрирован: Чт янв 31, 2008 09:25:29

Сообщение vise »

Ну ты даешь, сам ответ написал, и спрашиваешь Ж))) Собсно и передавай сначала 1 потом 0 потом 1 и так далее. Типа такого чтонибудь:

for(unsigned char i=0;i<8;i++)
{
PORTB = PORTB | 0x01; //установили CLK
if((data & 0x01)==0x01)PORTB = PORTB | 0x02; //установили DAT
else PORTB = PORTB & ~0x02; //сбросили DAT
PORTB = PORTB & ~0x01; //сбросили CLK
data=data>>1; //повернули дату вправо на 1 бит
}

На другом конце вешаешь CLK на прерывание которое срабатывает по спаду, ну и в прерывании читаешь данные DAT которые просто на пин порта повешены... А вообще чтоб ничего не изобретать лучше пользоватся уже готовыми решениями типа usart, ну или более точно опиши что хочешь в результате получить? Насчет других чисел, вообще непонятно как то Ж))))
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow

Сообщение Mozart »

в общем читай мануал на 1-wire
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Контактная информация:
Грызет канифоль
Аватара пользователя
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

usart'ом в асинхронном режиме
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 157
Зарегистрирован: Пн дек 04, 2006 09:50:08
Откуда: Vladivostok

Сообщение Артур »

Уважаемый vise скажите а что такое CLK , DAT и data
Не могли бы вы описать подробней что делает каждая строчка этого кода? Просто я новичок в програмировании.
Спасибо!
Век живи! - Век учись!
ICQ-15B87330h
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow

Сообщение Mozart »

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

Код: Выделить всё

clk  |-------------|_|-------------|_|-------------|_
data        x                x               x      
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Контактная информация:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

Лутче посылать первый импульс длинее за другие, тогда будет работать по 1 проводу, и что бы когда МК посылает этот первый импульс , другой МК знает, что щя надо будет щитать импульсы самого числа. А вообще заинтересовало. 8) А вообще выше описали подобие на i2c.
Изображение
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Еще можно порекомендовать автору помотреть принципы работы со сдвиговыми регистрами - загрузку данных. Здесь совершенно то же самое.
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 157
Зарегистрирован: Пн дек 04, 2006 09:50:08
Откуда: Vladivostok

Сообщение Артур »

Суть соль в том, что я собираюсь этот код отправлять по радио через трансмиттер на ресивер (управление роботом или другим механизмом) и чтоб на другие посторонние сигналы контроллер на стороне приемника не реагировал (см рисунок)
Не могу понять как это можно сделать програмно
Спасибо!
Вложения
RX_TX.GIF
(19.54 КБ) 620 скачиваний
Век живи! - Век учись!
ICQ-15B87330h
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Это называется манчестерский код (кодировка) - ключевые слова для поиска инфы.
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 157
Зарегистрирован: Пн дек 04, 2006 09:50:08
Откуда: Vladivostok

Сообщение Артур »

Спасибо Всем! Буду разбираться и читать! По не ясностям буду спрашивать! Спасибо! :lol:
Век живи! - Век учись!
ICQ-15B87330h
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»