0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 37
|
|
1 | |
ATiny2313A-PU и тактовая частота29.05.2012, 01:47. Показов 4662. Ответов 3
Метки нет (Все метки)
Здравствуйте! Прошу прощение за подробность изложения проблемы, очень хочется разобраться. Это моя первая попытка практической работы с АВР, до этого была практика только в универе на готовом стенде.
Есть схема из книги Ревича <Изображение удалено> Программатор usbasp с этого сайта (спасибо работает=) ). Программа (урезал по максимуму что бы показать только суть проблемы): Код
.include "2313def.yms" .def temp = r16 .def CountTime = r17 .def tids = r18 rjmp RESIT reti reti reti reti reti rjmp TIM0 reti reti reti reti ; timer0 int TIM0: dec CountTime breq div256 reti div256: yms tids out PORTB, tids reti RESIT: ;настройка ног порта на выход ldi temp, 0xFF out DDRB, temp ;очистка регистров clr tids clr CountTime ;разрешаем прерывания от Таймера 0 ldi temp, (1<<TOIE0) out TIMSK, temp ldi temp,0b011 ;предделитель на 64 out TCCR0,temp sei ;Разрешить обработку прерываний infLoop: nop rjmp infLoop Раз: <Изображение удалено> Два(режимы для кварца): <Изображение удалено> Мои фьюзы (для начала пробуем кварц): <Изображение удалено> В этой морде к дудке галочками обозначены запрограммированные биты(то есть нулевые) Итак чего я жду: Прерывание от таймера 0 наступает каждые 256 тактов, и это ещё поделено на 256 однобайтным счётчиком (строки в прерывании dec CountTime, breq div256). И ещё домножаем предделитель, должно получиться 256*256*64 и того 4194304, учитывая то что частота 4000000, то время изменения состояния светодиода должно быть около секунды (4194304/4000000). Но на практике это время получилось намного больше. Глядя на часы я примерно так определил что это около 8и секунд. Если поделить 4194304 на 8 получаем тактирующую частоту микроконтроллера примерно 0.5 МГц Далее я продолжил эксперимент и поставил предделитель на 256 (ldi temp,0b100), померил время вышло около 33 сек. По этим данным частота, которая тактирует МК составляет 256*256*256/33, что опять же около 0.5 Мгц Я подумал что неправильно подключил кварц и попробовал поменять фьюзы на встроенный 4 Мгц <Изображение удалено> Время опять получилось примерно 30 сек, то есть тот же результат. Выходит что МК всегда тактируется полумегагерцовой частотой, или я не правильно считаю (но пример из Ревича практически один в один даёт тот же результат) Заранее спасибо за помощь.
0
|
29.05.2012, 01:47 | |
Ответы с готовыми решениями:
3
ATtiny13A тактовая частота Тактовая частота ATMEL Studio STM32F103VE и тактовая частота STM32F4 - Тактовая частота ядра Cortex M4 тактовая частота |
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
|
|
29.05.2012, 02:10 | 2 |
Получается частота ниже в 8 раз. попробуй убрать фьюз CKDIV8.
вот что даташит говорит про него
0
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 37
|
|
29.05.2012, 02:24 | 3 |
Ого спасибо большое, работает =) так всё просто оказалось)) В следующий раз буду внимательней читать даташит)
0
|
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
|
|
29.05.2012, 02:33 | 4 |
Сообщение от dotmot
0
|
29.05.2012, 02:33 | |
29.05.2012, 02:33 | |
Помогаю со студенческими работами здесь
4
Прыгает тактовая частота Тактовая частота процессора Тактовая частота процессора. Тактовая частота памяти видюхи Проседает тактовая частота (MHz) Тактовая частота ОЗУ и зависания Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
|
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
|
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
|
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
|
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
|
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
|
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
|
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
|
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
|
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
|
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
|
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
|