Anthoni 0 20 июня, 2012 Опубликовано 20 июня, 2012 · Жалоба Добрый день друзья. Как в процессе работы переинициализировать шину 1-wire на другую ногу МК в cvavr? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 20 июня, 2012 Опубликовано 20 июня, 2012 · Жалоба Если используете встроенную библиотеку CVAVR, то никак. Пишите свою библиотеку или используйте готовую, которую можно поискать в исходниках программ и библиотек в прикрепленной теме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 20 июня, 2012 Опубликовано 20 июня, 2012 · Жалоба Как раз готовлю статейку к своей библиотеке. Пока не совсем готово, но выкладываю сюда ПО + документацию. Библиотека работает, а дока не до конца оформлена. Сори! Да, Си++... F1Wire.7z Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anthoni 0 20 июня, 2012 Опубликовано 20 июня, 2012 · Жалоба Понял. Изучаю вашу haker_fox документацию! Непонятно одно, прикрутится ли ваша C++ библиотека к проекту CVAVR?.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 21 июня, 2012 Опубликовано 21 июня, 2012 · Жалоба Понял. Изучаю вашу haker_fox документацию! Непонятно одно, прикрутится ли ваша C++ библиотека к проекту CVAVR?.. Предлагаю Вам три решения решения: 1. Выкидываете CVAVR, если он не поддерживает Си++ :rolleyes: 2. Переписываете библиотеку на Си. Это очень просто. 3. Понимаете идею указателей на порты ввода-вывода, заложенную в библиотеке, и пишите свою))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 21 июня, 2012 Опубликовано 21 июня, 2012 (изменено) · Жалоба Я в своё время сделал тупо и примитивно - сдублировал все CvAVR-овские функции под разными именами и всё. Один "комплект" дёргает одну ногу, 2-й - другую. Знаю, что некрасиво, жрёт в 2 раза больше флэша (чем могло бы), но так было проще и в той задаче работает. А флэш свободный там ещё и остался :rolleyes: . Изменено 21 июня, 2012 пользователем hd44780 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 21 июня, 2012 Опубликовано 21 июня, 2012 · Жалоба Знаю, что некрасиво, жрёт в 2 раза больше флэша (чем могло бы), но так было проще и в той задаче работает. А флэш свободный там ещё и остался :rolleyes: . Да, как раз один из вариантов я упомянул в статейке. Сам так делал. Но дело даже не в потребляемой памяти. Дело в том, что исправления и нововведения придется делать дважды (трижды, четырежды...). А так, подкорячил базовый класс, перекомпилировал программу, и все) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 3 июля, 2012 Опубликовано 3 июля, 2012 · Жалоба haker_fox токо непонятно что делать с этой библиотекой на других архитектурах (PIC, STM8, STM32). привязка всей логики к архитектуре АВР - не лучшая идея. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 3 июля, 2012 Опубликовано 3 июля, 2012 · Жалоба А Си++ это avr studio? С++ - язык такой... И в avr studio а ним можно работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anthoni 0 3 июля, 2012 Опубликовано 3 июля, 2012 · Жалоба _Артём_ та понятно что язык :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 3 июля, 2012 Опубликовано 3 июля, 2012 · Жалоба Добрый день друзья. Как в процессе работы переинициализировать шину 1-wire на другую ногу МК в cvavr? А на фига? Смысл в чём? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 3 июля, 2012 Опубликовано 3 июля, 2012 · Жалоба А на фига? Смысл в чём? Видимо, чтобы реализовывать 2 и более мастеров 1-wire. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 3 июля, 2012 Опубликовано 3 июля, 2012 · Жалоба Видимо, чтобы реализовывать 2 и более мастеров 1-wire. смысл наверняка в том, чтобы избавиться от геморроя с адресацией нескольких однотипных устройств. например, сделать устройство измерения температуры в двух или более точках при помощи DS18x20 достаточно геморная штука, если все датчики сажать на 1 линию: надо предусмотреть целую систему "обучения" девайса адресам новых датчиков с привязкой датчика к месту измерения... а если сделать 2 или более шины - то каждая может быть однозначно соотнесена с местом измерения и независима от адреса датчика (SKIP_ROM для обращения). я делал либу поддержки до 8 1-wire-шин на одном порту (WinAVR), но все руки не дошли в реале ее испытать :) в протеусе все работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 3 июля, 2012 Опубликовано 3 июля, 2012 · Жалоба Видимо, чтобы реализовывать 2 и более мастеров 1-wire. до 8 1-wire-шин на одном порту Т.е поставить мультиплексор , что бы ерундой не нагружать проц и пожалеть его ноги и альтернативные функции - это не наш метод? А ещё повесить 1-wire на USART , что бы не тратить по посту процессорное время - прерывания великая сила. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 3 июля, 2012 Опубликовано 3 июля, 2012 · Жалоба не хотелось бы устраивать дискуссию... но МК для того и ставят в схему, чтобы по максимуму его нагрузить, избавившись от мультиплексоров и прочей лабуды - не так ли? и ставить во главу угла освобождение МК от работы по меньшей мере странно: он железныйкремниевый - пусть пашет! :) судя по всему, интерфейс с пользователем при установке произвольных датчиков в уже изготовленный девайс у вас проблем не вызывает... а так же объяснение пользователю того, как именно отличить один черненький датчик от другого и почему их нельзя менять местами (на объекте измерения) без перенастройки девайса... вам можно только позавидовать :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться