 |
|
|
|
| Автор |
Сообщение |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 22 Янв 2007, 8:18 Заголовок сообщения: Связь между двумя МК на ИК лучах (от регистратора) |
|
|
для случая, когда невозможно связать их между собой кабелем.
Скорость обмена 1838 бод
Микроконтроллеры - PIC16f628
http://www.remexpert.com/forum/viewtopic.php?p=4429#4429
аппаратная часть одного контроллера - у второго аналогично такая же
| Описание: |
|
| Размер файла: |
98.63 KB |
| Просмотрено: |
1848 раз(а) |

|
|
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 24 Янв 2007, 9:34 Заголовок сообщения: продолжаем разговор... |
|
|
Сегодня - вывод массива из 10 чисел с контрольной суммой на ИК- излучатель. Необходимые комменты - в сишном файле. Исправил ошибки. Схема тестовой модели.
| Описание: |
|
 Файлообменник |
| Название файла: |
628.rar |
| Размер файла: |
33.45 KB |
| Скачено: |
134 раз(а) |
Последний раз редактировалось: urry (07 Фев 2007, 7:56), всего редактировалось 4 раз(а) |
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 24 Янв 2007, 13:47 Заголовок сообщения: |
|
|
Не вдаваясь в подробности мне кажется здесь ошибка.
| Код: |
do{
}while(busy==1);//пока занято, ни фика не делаем
|
обычно надо ждать освобождения буфера передачи.
| Код: |
if (!TRMT) return ; //На время передачи ничего не делать
|
приблизительно так.
[/code]
|
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 24 Янв 2007, 14:08 Заголовок сообщения: |
|
|
| боюсь. это большой бод, который состоит из 40 маленьких бодиков. Большая вероятность, что TRMT совпадет при выдачи одного из 4 байт и процедура уйдет раньше, чем нужно
|
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 24 Янв 2007, 20:44 Заголовок сообщения: |
|
|
| Я отладил полностью рабочий код, используй его, моя схема позволит работать в дуплексном режиме. Выкинь все лишнее из моей программы. Она значительно упроститься.
|
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 25 Янв 2007, 8:47 Заголовок сообщения: |
|
|
извини, пока не увижу труп - не поверю. В смысле реализацию в железе. Я не верю, что можно нормально работать в полнодуплексном режиме и исключить засветку от своего излучателя. Тем более, что мне до конца темы уже немного осталось. Для меня задача стоит не сделать конкретное устройство - я, конечно, его сделаю, но только как проверочное. Задача - разработка стандартной библиотеки для всех. Человек подключает заголовочный файл, указывает частоту кварца, адрес выводимого - принимаемого массива, его размер и не думает о том, что там внутри в процедурах.
Поэтому мне нельзя трогать таймеры (человек в своей основной программе их может использовать), количество занимаемой памяти должно быть сведено к минимуму и так далее.Отобрал у человека усарт - и все. Каждый свой шаг я проверяю осциллографом (ну не знаю я, как то, что я делаю, можно смоделировать в Протеусе ).
Это лирика, а сейчас проблема... Как показать основной программе то, что принялся массив? Самый примитивный вариант - опрашивать бит приема в цикле основной программы, но это грустно. Можно спровоцировать программное прерывание от таймера (это легко, но таймер трогать я не имею права). Вот сейчас думаю. Есть у кого-то идеи ?
|
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 25 Янв 2007, 10:13 Заголовок сообщения: |
|
|
Поставленная задача почти неподъемна. Мне приходилось на 580 формировать Манчестерский код программными средствами, на момент передачи времени ни на что другое не остается.
| urry писал(а): | | извини, пока не увижу труп - не поверю. В смысле реализацию в железе. Я не верю, что можно нормально работать в полнодуплексном режиме и исключить засветку от своего излучателя. |
В датчиках движения на ИК лучах излучатель устанавливается в металлическом экране вот и все
| Цитата: |
Поэтому мне нельзя трогать таймеры (человек в своей основной программе их может использовать), количество занимаемой памяти должно быть сведено к минимуму и так далее.
|
Нельзя обьять необъятное, ведь забираешь больше процессорное время.
| Цитата: |
Каждый свой шаг я проверяю осциллографом (ну не знаю я, как то, что я делаю, можно смоделировать в Протеусе ).
Это лирика, а сейчас проблема... Как показать основной программе то, что принялся массив? Самый примитивный вариант - опрашивать бит приема в цикле основной программы, но это грустно. Можно спровоцировать программное прерывание от таймера (это легко, но таймер трогать я не имею права). Вот сейчас думаю. Есть у кого-то идеи ? |
Статья в журнале радио о протеусе, надо изучать помагает здорово.
Форум тут http://kazus.ru/forum/topics/4696.html.
| Описание: |
|
 Файлообменник |
| Название файла: |
Протеус.rar |
| Размер файла: |
505.96 KB |
| Скачено: |
142 раз(а) |
|
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 29 Янв 2007, 8:27 Заголовок сообщения: |
|
|
Смоделировал в Протеусе. Забавно и познавательно. Правда, ошибку, которую я обычным отладчиком искал бы 5 минут, в Протеусе ушло часа 3. Будем считать, что с непрывычки. Начал паять железо на тестовый макет.
| Описание: |
|
| Размер файла: |
58.84 KB |
| Просмотрено: |
1833 раз(а) |

|
|
|
| Вернуться к началу |
|
 |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 29 Янв 2007, 10:33 Заголовок сообщения: |
|
|
Чаще бывает и наоборот.
Протеус позволяет найти ошибки в схеме до разработки платы.
|
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять вложения в этом форуме Вы можете просматривать вложения в этом форуме
|
|