-
- Я одно не понимаю, а чего UART не использовать? Принцип описан в апноте. - =AlexD=(20.03.2010 13:03)
- Подскажите, пожалуйста ссылку на апнот. Я не понимаю, как можно использовать UART при обмене данными. - ctpexhih(20.03.2010 22:28)
- Да вот жеж - =AlexD=(21.03.2010 11:40, ссылка)
- Гигантское спасибо. - ctpexhih(21.03.2010 12:12)
- Принцип прост - Для линии TX изображаем "открытый коллектор/монтажное ИЛИ", соединяем с RX и подтягиваем к питанию. Это "железо"... Для "start-presence pulse" юзаем скорость обмена 9600, а для данных - 115200. Т.е. для одного бита 1wire пользуем Гудвин(110 знак., 20.03.2010 23:33)
- С передачей данных от МК устройству разобрался. Не пойму с приемом от устройства. Как обеспечить опрос линии через 15 мкс после того, как МК перевел линию в низкий уровень? - ctpexhih(21.03.2010 09:37)
- Да...Тяжко доходит... Передаем на скорости 115200 по TX '0xFF'. Стартовый бит - 8.7 us. Принимаем по RX те-же '0xFF', если устройство возвращает единицу, или НЕ '0xFF', если возвращает ноль. Все на удивление просто... Про "открытый коллектор" и Гудвин(33 знак., 21.03.2010 10:21 - 10:26)
- Нет, про коллектор не надо. С передачей я понял. Мне не понятно при приеме вот что. Чтобы ПРИНЯТЬ что-то от устройства, МК должен сначала ВЫДАТЬ лог. 0 в линию. Какова последовательность действий МК при приеме бита от устройства? - ctpexhih(21.03.2010 10:44)
- Внимательно читаем выше про стартовый бит... Принцип работы USART излагать? - Гудвин(21.03.2010 10:47)
- Нет. Спасибо за помощь. - ctpexhih(21.03.2010 10:55)
- Внимательно читаем выше про стартовый бит... Принцип работы USART излагать? - Гудвин(21.03.2010 10:47)
- Нет, про коллектор не надо. С передачей я понял. Мне не понятно при приеме вот что. Чтобы ПРИНЯТЬ что-то от устройства, МК должен сначала ВЫДАТЬ лог. 0 в линию. Какова последовательность действий МК при приеме бита от устройства? - ctpexhih(21.03.2010 10:44)
- зная тактовую частоту МК и длительность выполнения команды в тактах можно посчитать сколько команд надо выполнить чтобы прошло 15мкс. есть пустая команда NOP и есть циклы. для более длинных задержек используются таймеры - Snaky(21.03.2010 09:40)
- Да...Тяжко доходит... Передаем на скорости 115200 по TX '0xFF'. Стартовый бит - 8.7 us. Принимаем по RX те-же '0xFF', если устройство возвращает единицу, или НЕ '0xFF', если возвращает ноль. Все на удивление просто... Про "открытый коллектор" и Гудвин(33 знак., 21.03.2010 10:21 - 10:26)
- С передачей данных от МК устройству разобрался. Не пойму с приемом от устройства. Как обеспечить опрос линии через 15 мкс после того, как МК перевел линию в низкий уровень? - ctpexhih(21.03.2010 09:37)
- Да вот жеж - =AlexD=(21.03.2010 11:40, ссылка)
- Что такое апнот? - ctpexhih(20.03.2010 22:12)
- Application Notes. - rezident(20.03.2010 22:20, ссылка)
- Не во всех MSP оно есть. А где есть, то да - "железно" лучше. Прерывания запрещать не требуется. - Гудвин(20.03.2010 13:08)
- Подскажите, пожалуйста ссылку на апнот. Я не понимаю, как можно использовать UART при обмене данными. - ctpexhih(20.03.2010 22:28)
- Работает на С. Без проблем. При тактовой ~900 кГц. (Вроде сколько там по-умолчанию - в 11xx ;) ) Гудвин(1308 знак., 20.03.2010 12:21 - 13:02)
- Всё делается и работает на С при работе с DS18B20 "в лоб" - задержки делаются пустым циклом, VAI(312 знак., 20.03.2010 10:38)
- Дык в компиляторе включите генерацию ASM и map-файлов и по ним все будет видно. А вставки (ASM) делать не нужно. Вредно это и нецелесообразно. Пишите требуемые функции на ASM целиком, а потом на Си просто вставляйте вызовы их. О правилах написания rezident(44 знак., 20.03.2010 10:14)
- Я одно не понимаю, а чего UART не использовать? Принцип описан в апноте. - =AlexD=(20.03.2010 13:03)