Перейти к содержанию
    

Azriel

Участник
  • Постов

    14
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация

  • Город
    Array
  1. Подключение AT90USB647

    Что-то и вправду ссылку не нашёл теперь. Так что вот бутлоадер, который я скачал ещё тогда (для 647-ой бутлоадер был только версии 1.0). 64X_usb_boot_1_0_0.a90.txtP.S. Нужно переименовать *.txt в *.hex. Просто hex не загружался.
  2. Подключение AT90USB647

    С другим контроллером (в смысле, тоже AT90USB647) всё заработало. Однако использовал кварц на 4МГц. В чём причина - в другом контроллере или в другом кварце - не знаю. Всем спасибо за помощь. Кстати, стандартный бутлоадер есть на сайте Атмела.
  3. Подключение AT90USB647

    Нет, не забыл. Даташит рекомендует с 8МГц-кварцем использовать конденсаторы 12 - 22 пФ. Я использую по 22пФ, так что всё должно быть нормально.
  4. Подключение AT90USB647

    Я же написал, что там по умолчанию стоит внешний генератор до 8Мгц (Low Power Crystal Oscillator), а у меня к контроллеру как раз поключен кварц на 8Мгц. Контроллер не откликается в юнипрофе (именно не откликается, а не не опознается). Я, вот, и думаю, может забыл чего, не сделал или напутал...
  5. Подключение AT90USB647

    Фьюзы не проверить, т.к. для прошивки и изменения фьюзов нужно, чтобы контроллер опознался через USB (затем драйвера от Флипа и сам Флип), а он, как я уже писал, не опознается. Через SPI прошивать не хочу, чтобы не потереть бутлоадер (однако пробовал просто увидеть контроллер через SPI - не получилось, не видится). Настройки по умолчанию - Low Power Crystal Oscillator, т.е. до 8Мгц (в том числе и от 3.3В), действительно, с делителем 8.
  6. Подключение AT90USB647

    Здравствуйте! Возникла проблема с подключением AT90USB647. Контроллер не видится компом при включении в USB. Если быть точным, комп никак не реагирует на подключение контроллера. Контроллер ни разу не прошивался, т.е. имеет заводские настройки. Питается от 3.3В, USB контроллера питается от 5В (по одной из схем подключения в даташите). К контроллеру поключен внешний кварц на 8МГц. Нога HWB соединена с землей. Распиновка USB проверялась и перепроверялась. Хотелось бы знать, не забыл ли и не напутал ли я чего-либо существенного. Заранее спасибо.
  7. Genadi Zawidowski Я склонялся к этой же мысли. Всем большое спасибо.
  8. Не сталкивался ли кто-нибудь из Вас стакой проблемой: если через USART постоянно и непрерывно отсылать один и тот же байт, то приёмник распознаёт его неверно; он также выдаёт один повторяющийся байт, но другой, причём, при повторных соединениях приёмник может выдавать другие значения (среди них встречается и правильное). Я думаю, это связано с неверной интерпритацией входных данных приёмником, т.е. он находит СТАРТ- и СТОП-биты там, где их нет, а всё, что между ними считает входным байтом. Могут ли быть ещё какие-нибудь причины такого поведения? Как возможно решить/обойти эту проблему?
  9. Обнаружил, что проблема заключается в периодической перезагрузке контроллера после однократного выполнения цикла. Почему так происходит, пока не понял. Watchdog выключен фьюзами, плюс всё равно выключаю его программно - не помогает.
  10. Проверил ещё раз Watchdog: выключен (hfuse = 0xdf). Код писал в AvrStudio при установленном WinAVR - 20100110 (c avr-gcc). Прошиваю ATtiny48 через avrdude: Запись программы: avrdude -p t48 -c stk200 -e -U flash:w:test.hex Чтение фьюзов: avrdude -p t48 -c stk200 -U hfuse:r:"./ high.txt":h -U lfuse:r:"./ low.txt":h (В результате выполнения этой команды в файле high.txt лежит число 0xdf) Запись фьюзов (записать в lfuse 0xee - установить в 1 фьюз SKDIV8): avrdude -p t48 -c stk200 -U lfuse:w:0xee:m Пробовал уже на 2-х Тинях - результат тот же. Что не так!?? Прилагаю картинку с осциллографа (сигнал действительно такой - проверено на LED'ах с увеличенной задержкой): osc.bmp А корректно ли считывать с пина PORTD (не PIND)? Ведь PORTD ^= 0x0f эквивалентно PORTD = PORTD ^ 0x0f. Прилагаю HEX: test.rar
  11. #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> int main() { DDRD = 0x0F; PORTD = 0x0F; while(1) { _delay_ms(20); PORTD = 0x0; _delay_ms(20); PORTD = 0x0F; } } Хотя в свойствах частота тоже проставлена. И тип контроллера, конечно, тоже.
  12. Захотел получить на выходе квадратный импульсный сигнал. Сделал бесконечный цикл с двумя одинаковыми паузами и выводом 1 и 0 после каждой из них. Но вместо ровного импульса на выходе получается огромное преобладание по времени либо 0, либо 1 - в зависимости от задержки. Задержки делал с помощью _delay_ms() и _delay_us(). Не могу разобраться, в чём проблема.
  13. Разрыв связи TWI

    Здравствуйте! Подскажите, пожалуйста, можно ли программно диагностировать разрыв TWI (как одного, так и другого провода). А также, возможно ли узнать, подключён или нет к Мастеру хоть один Ведомый. Заранее спасибо.
×
×
  • Создать...