|
Проблема с ADC ATTINY461 |
|
|
|
Jan 3 2008, 00:38
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 30-11-05
Из: С-Пб
Пользователь №: 11 619

|
Да дело не только в расширенном ядре, хотя я думаю это способствовало бы уменьшению кода, а в работоспособности программы в целом, но это я смогу проверить только после праздников, по нескольким причинам: 1. Устройство на работе. 2. на работе сгорел дракон, таня осталась залочена на dWare, было куплено 10 шт для пробы одна загадочно стала сажать Reset в 0, хотя если ей чем-нибудь его закоротит на 5В, то она программируется исправно по SPI. Другая после переключения с кварца на внутренний рц, тоже погибла, остальные не помню, осталось не тронутых 4, на одной из них и проверял математику. Есть подозрение, что библиотека расширенного ядра, как то влияет на настройку конфигурации ацп и вешала его так, что он переставал реагировать на дальнейшие изменения. ПС:отлаживал я на домашнем драконе. Подключить ничего кроме cl1t.r90 не удастся, но с ним математика проходит, что еще вылезет, пока не знаю.
|
|
|
|
|
Jan 10 2008, 16:48
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 30-11-05
Из: С-Пб
Пользователь №: 11 619

|
Нашел что у ATtiny461 всетаки есть, глюк не глюк, но помоему глюк, потому как у других такого не наблюдалось. ATtiny461 не сбрасывает флаг ADIF после его чтения, приходится сбрасывать в ручную. странно как то это все...
|
|
|
|
|
Jan 10 2008, 21:50
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(__nik__ @ Jan 10 2008, 18:48)  Нашел что у ATtiny461 всетаки есть, глюк не глюк, но помоему глюк, потому как у других такого не наблюдалось. ATtiny461 не сбрасывает флаг ADIF после его чтения, приходится сбрасывать в ручную. странно как то это все... Ой, тут у меня малость "Hard Day's Night"  , торможу что-то, можно для меня персонально списочек AVR-ок, у которых флаг ADIF сбрасывается чтением  ? Это помню: Цитата ADIF is cleared by hardware when executing the corresponding interrupt handling vector. Alternatively, ADIF is cleared by writing a logical one to the flag. Это (для старых чипов, у которых sbi/cbi были RMW-операцией со всем регистром в целом и по sbi ADCSRA, ADSC в бит ADIF писалось назад его содержимое и тем самым он автоматически сбрасывался "by writing a logical one") тоже понмю: Цитата Beware that if doing a Read-Modify-Write on ADCSRA, a pending interrupt can be disabled. This also applies if the SBI and CBI instructions are used. А вот чтобы прямо так чтением и сбрасывался... Ну не помню...
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Jan 10 2008, 22:38
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 30-11-05
Из: С-Пб
Пользователь №: 11 619

|
Цитата можно для меня персонально списочек AVR-ок, у которых флаг ADIF сбрасывается чтением ? Да конечно можно, вот у которых точно сбрасывается: ATtiny26,25,15; AMmega48,8,16,32,8535,8515. это те которые я помню. Я проверил, в м8 написано тоже самое... А причем тут SBI и CBI если используются SBIS и SBIC?? как я понимаю они читают регистр или бит(как реализовали) в любом случае....
Сообщение отредактировал __nik__ - Jan 10 2008, 22:39
|
|
|
|
|
Jan 11 2008, 06:16
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Да конечно можно, вот у которых точно сбрасывается:ATtiny26,25,15; AMmega48,8,16,32,8535,8515.это те которые я помню.Я проверил, в м8 написано тоже самое... Гм. Прямо из PDF по Mega8 Цитата Bit 4 – ADIF: ADC Interrupt Flag This bit is set when an ADC conversion completes and the Data Registers are updated. The ADC Conversion Complete Interrupt is executed if the ADIE bit and the I-bit in SREG are set. ADIF is cleared by hardware when executing the corresponding interrupt Handling Vector. Alternatively, ADIF is cleared by writing a logical one to the flag. Beware that if doing a Read-Modify-Write on ADCSRA, a pending interrupt can be disabled. This also applies if the SBI and CBI instructions are used. Где тут про сброс чтением? И везде так.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 11 2008, 08:43
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(__nik__ @ Jan 11 2008, 00:38)  Да конечно можно, вот у которых точно сбрасывается: ATtiny26,25,15; AMmega48,8,16,32,8535,8515. это те которые я помню. Я проверил, в м8 написано тоже самое... А причем тут SBI и CBI если используются SBIS и SBIC?? как я понимаю они читают регистр или бит(как реализовали) в любом случае.... Мда... "У всей Дерибасовской не сбрасывается, а у него сбрасывается" Мой намёк внимательнее вчитаться в документацию и проанализировать собственный код был слишком тонок. А сказать толще не получается почему-то, какие-то шутчки мешают, пойти, чтоли, на курсы повышения квалификации к AVR ?У меня в 90s4433, mega8, tiny26, tiny15, tiny13, mega64/128 ADIF по чтению не сбрасывался (кстати, в 8515 АЦП нет). Возможно, телепат из меня плохой, но я думаю, что и у (как там положено правильно обращаться - сначала в ФИДО меня долго переучивали на "ты", так как "обращение на Вы есть состояние, промежуточное между словесной перепалкой и мордобоем", теперь, оказывается, для этого сначала на брудершафт нужно - это потому, что теперь "промежуточное" состояние является основным?) тебя/Вас в тини26 тоже ничегошеньки не сбрасывается по Код sbis ADCSRA, ADIF rjmp .-2 и флаг ADIF продолжает стоять как у молодого бычка до последующего запуска АЦП командой Код sbi ADCSRA, ADSC А вот тут то флаг ADIF и сбрасывался у более старых кристаллов (согласно "непонятно при чём тут" процитированному фрагменту даташита), а у tinyX61 не сбрасывается, так как у них команды sbi/cbi уже не RMW с байтом, а работают только с указанным битом.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Jan 11 2008, 18:21
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 30-11-05
Из: С-Пб
Пользователь №: 11 619

|
На счет ты или вы, все очень просто. Ты - обращение к знакомому; личное общение; и тп Вы - обращение к не знакомому человеку либо стершему по возрасту или рангу, кстати, в ответ он должен также обращаться на вы. Сходить на курсы повышения к Атмел ... если это такие курсы после которых к нам приходят и терморезистор измеряют компаратором, чтобы постоянно не переключать каналы ацп, или делают ляпы как в AVRDragon, или как замалчивание температурных разбросов, в частности к WDT, а при указании на это: 1й раз отвечать, что его нет либо он мал, а при сборе статистики в диапазоне -70 ... +100 и отправке им с просьбой все-таки его указать. 2й раз ответить, что разброс такой и есть. Для скептиков, при ~ -70 процессор работал исправно. Спасибо конечно, но думаю, такие курсы у нас уже есть в каждом институте. Я не претендую на ноухау, к тому же, это новшество Атмела отняло не так много времени, как недосмотр ИАРа, я вот забыл проверить, но вроде, я заливал прошивку скомпилированную под Тани461/261, в Тани26, при этом она исправно работала, как нибудь уточню. Ацп чуть хуже Тани26, пришлось вновь подбирать параметры, чтобы показания не "прыгали" больше чем 1. Да в 8515, ацп нет, написал на автомате, извиняюсь.
|
|
|
|
|
Jan 11 2008, 20:29
|
Участник

Группа: Validating
Сообщений: 64
Регистрация: 16-06-05
Пользователь №: 6 073

|
Цитата(__nik__ @ Jan 12 2008, 00:21)  На счет ты или вы, все очень просто. Ты - обращение к знакомому; личное общение; и тп Вы - обращение к не знакомому человеку либо стершему по возрасту или рангу, кстати, в ответ он должен также обращаться на вы. Смотря где как принято, возможны варианты. Цитата Сходить на курсы повышения к Атмел Да не к Atmel, есть тут один особо прямолинейный товарищ с таким ником
|
|
|
|
|
Jan 11 2008, 21:34
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(__nik__ @ Jan 11 2008, 20:21)  На счет ты или вы, все очень просто. Ты - обращение к знакомому; личное общение; и тп Вы - обращение к не знакомому человеку либо стершему по возрасту или рангу, кстати, в ответ он должен также обращаться на вы. Если уж на то пошло, то на письме на "вы" нужно обращаться к нескольким людям одновремённо, а к одному таки на "Вы". Это первое. А второе - в течении многих лет вот как раз незнакомые люди в эхах/на форумах обижались на "Вы" и требовали "ты". Объяснется просто - и применяя слово "Вы" столько хамят и оскорбляют, что это слово признаком уважительного отношения ну никак не является. И на применение "Вы" многие смотрели косо, а на требование его применения к себе смотрели исключительно как на заявочку "я выше рангом". И сами переходили на "Вы" только для того, чтобы показать отчуждение. Так что обижаться за "ты" на людей, которые провели на разных форумах уже 10-15 лет, нет никакого смысла. Привычки-с. Цитата(__nik__ @ Jan 11 2008, 20:21)  Сходить на курсы повышения к Атмел ... Вообще говоря, мы тут все немножко программисты и должны понимать важность точности формулировок (а любой текст - это своего рода программа, предназначенная для интерпретации в мозгу принимающего этот текст, кажется, у Лема в "Сумме Технологии" про это неплохо написано). И если я написал "сходить на курсы к AVR", то это никак не может означать "сходить к Атмел на курсы по AVR".
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|