VladimirYU
Свой-
Постов
426 -
Зарегистрирован
-
Посещение
Весь контент VladimirYU
-
Это возможно при поочередном подключению к сети ведомых устройств, по умолчанию настроенных на default-адрес, например 127. Мастер опрашивает этот адрес, если есть ответ, то назначает специальной инструкцией устройству адрес, которого в сети еще нет (например по возрастанию, запоминая первый свободный адрес в своем ЕЕПРОМ). Устройство принимает этот адрес и запоминает его также в ЕЕПРОМ и далее откликается только на него. Способ не идеальный но на практике используется.
-
А что не устраивает а вашем способе, или чего хотелось бы?
-
Pascal для AVR
VladimirYU ответил DMD тема в MCS51, AVR, PIC, STM8, 8bit
В жизни всегда есть место экзотике, но не всегда в это место хочется попадать. -
Pascal для AVR
VladimirYU ответил DMD тема в MCS51, AVR, PIC, STM8, 8bit
А если отбросить религиозные убеждения и просто, например, ответить на единственный вопрос: "На чем я пишу ПО для МК? С, С++, ASM, Паскаль......" ИМХО все споры отпадут сами собой. -
Странно работает прерывание при совпадении таймера!
VladimirYU ответил uranium тема в AVR
Все таки поделитесь с народом, в чем была проблема и как разрешилась. Получется, что топик затеяли и все? -
Pascal для AVR
VladimirYU ответил DMD тема в MCS51, AVR, PIC, STM8, 8bit
Мда, травка зашибись была... -
Ошибка "Can't resync" при прошивке АТМEGA8
VladimirYU ответил Andbiz тема в AVR
Проверьте доходит ли ресет от прграмматора до ноги МК. -
Не вызываються конструкторы глобальных классов
VladimirYU ответил BriG тема в IAR
Нет. примерчик покажите. -
Помогите разобраться
VladimirYU ответил Abram тема в MCS51, AVR, PIC, STM8, 8bit
Внимательно посмотрите на временные диаграммы АЦП (он Слэйвом у вас будет) (фазировка SCK, порядок передачи битов, ...) не забудьте про SS ( CS не знаю как он в Вашем АЦП называется) и сравните их и Fig. 67, 68 из DS на мегу 16. Выбирите нужную, а далее раберетесь как правильно запрограммировать SPI меги. Посмотрите в инете методы измерения амплитуды синусоиды, выбирайте подходящий для вашего случая удолетворяющий схемотехнике устройства и возможностям АЦП. -
Правда или ложь
VladimirYU ответил zombi тема в AVR
Один удар молотком - 200$ Два удара - 350 .............. Каждый десятый - бесплатно :) . Вы сами этим пользовались? -
Правда или ложь
VladimirYU ответил zombi тема в AVR
Тема неисчерпаема. Но ни от кого и ни где я не слышал слов типа: "Я делал это, и получил необходимый результат". Все на уровне слов "Хня эта защита. Китайцы, нанайцы, тайваньцы и прочие заср..цы в два счета сломают.." -
Помогите разобраться
VladimirYU ответил Abram тема в MCS51, AVR, PIC, STM8, 8bit
Что вы вкладываете в слова "мерять синусоиду"? Какой(ие) параметр(ы)? -
Вопрос к знатокам С++
VladimirYU ответил VladimirYU тема в IAR
Спасибо! Все заклинило блин... Про перегрузку совсем забыл. -
Вопрос к знатокам С++
VladimirYU опубликовал тема в IAR
Как правильно сделать? Имеется следующий код Хочется, чобы Func получала указатель на foo, как значение параметра по умолчанию. -
"Правильный" софт ресет
VladimirYU ответил UniBomb тема в AVR
+1000. Пора, уже понять и "принять к исполнению", тот факт, что у AVR нет иного "правильного" программного сброса, кроме как с использованием WDT. Все остальное от лукавого. -
AVR Studio и ее PullUp резисторы.
VladimirYU ответил KonoFF тема в AVR
В симуляторе SPY от IAR аналогично. -
ATMega8535 SPI Slave Mode trouble
VladimirYU ответил Yurik32 тема в AVR
У меня один раз было на двух мегах 128-ых из одной партии: После выхода из while у SLAVE в SPDR проскакивала всякая хрень, ошибка была в бите который мастер выталкивал последним. Посмотрел осциллом передачу от Мастера и ох...ел, 7 битов вытакивались равномероно с частотой клоков, как положено, а последний бит выталкивался (и последний 8-ой клок) после паузы примерно на время передачи байта, а следующий байт сообщения от Мастера шел сразу за последним битом. У слэйва крыша съезжала. Обошел следующим образом: вставил задержку у мастера между посылками байтов - помогло. Потом в следующей версии ПО передачу от мастера сделал по прераванию от SPIF и подобной прооблемы не было. В последующих приборах проверял обе версии ПО для Мастера, больше этот косяк не всплывал. В итоге списал все на глюк в конкретной меге. -
Pascal для AVR
VladimirYU ответил DMD тема в MCS51, AVR, PIC, STM8, 8bit
Язык С объективно лучше учитывает суть и особенности программировани встроенных систем, ПАСКАЛЬ же язык изучения основ программирования для школьников и начинающих студентов (корни его именно оттуда). ИМХО, конечно, Вы найдете и освоите компилятор ПАСКАЛя, но это будет потерянное время и усилия на освоение инструмента, предназначенного изначально для других задач. -
Конечно, Сергей, прав :a14: В режиме С все читается нормально, был С++.
-
Такой глюк был в версии IAR3.20C, регистры I/O оптимизатор глазом не моргнув кэшировал. Но потом в начиная с 3.20D вроде его исправили. Попробую просто с обычной переменной. То же самое
-
Разочарую Вас. Сорри, но не умею выделять в окошке кодов:
-
Только если выражение после ? не пустое. Евгений абсолютно прав.
-
Если "тупо" 10 { 11 char tmp = SPCR; \ 00000000 B10D [b]IN R16, 0x0D[/b] \ 00000002 2F20 MOV R18, R16 12 13 return; \ 00000004 E000 LDI R16, 0 \ 00000006 E010 LDI R17, 0 \ 00000008 9508 RET \ 0000000A REQUIRE _A_SPCR 14 } Если с "изыском" 9 int main() \ main: 10 { 11 SPCR; 12 13 return; \ 00000000 E000 LDI R16, 0 \ 00000002 E010 LDI R17, 0 \ 00000004 9508 RET 14 } Еще один из обсуждавшихся вариантов: 9 int main() \ main: 10 { 11 [b](void)SPCR;[/b] 12 13 return; \ 00000000 E000 LDI R16, 0 \ 00000002 E010 LDI R17, 0 \ 00000004 9508 RET 14 } То же самое. Чтения нет.
-
SPSR это регистр статуса SPI, все I/O регистры описаны в .h как VOLATILE компилятор отнюдь не старый, проверил на IAR AVR 5.10 то же самое. Может быть из-за моей неграмотности, но я так и не понял это все же баг компилятора, или если данная форма отдана стандартом на реализацию, тогда фитча.