Я как любитель, но ещё не эксперт при программировании МК столкнулся с рядом проблем: 1) Когда на attiny13 пытаюсь сделать часы реального времени в CodevisionAVR выставляю деление кварцевого генератора на 256: в итоге у меня появляется возможность на 8-битном таймере сделать частоту 1Гц. Появляется вот такие строчки:
/ Crystal Oscillator division factor: 256 #pragma optsize- CLKPR=0x80; CLKPR=0x08; #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif
И всякий раз, когда записываю прогу с этими строками микроконтроллеры Attiny13 перестают читаться вообще!!! Хотя прога поначалу работает. Пробовал восстанавливать на самодельном реаниматоре - он выдает, что все восстановил, но чтение при этом не могу произвести. Система просто его не видит. (в качестве программатора использовал 5 проводков от LPT соединненных резисторами по 150 Ом). Я специально проверил и загнал второй attiny13 - походу дело все в этом Crystal Oscillator Divider??? Вопрос: что стало с моим МК????
2) Писал программный ШИМ на Atmega8, после 5-й записи он перестал читаться, но при этом программа работала. При команде Reset начиналось мерцание светодиода (очень быстрое), но МК не читался. Затем я вырубил питание и снова включил - прога на МК уже не работала. Вопрос: фьюзы я не менял, заливал только прогу - что случилось с Atmega 8? Для нее я использовал программатор в точности собранный по схеме:http://yl2gl.ucoz.net/news/programmirovanie_avr/2011-02-25-70. только не стал ставить резистор на 10к идущий от Reset'a к питанию. Питание ставил от USB компа! И ещё...при включении COM порта, и выкл. питании на ногах VCC и GND почему-то появляется напряжение в 2V. Это как такое возможно?
3)При написании таймера на attiny13 обнаружил, что время прохождения первого "якобы часа", второго, третьего и последующих сильно отличается - 17, 5, 13 секунд и т.д. Вопрос: это нормально? Что кварц неточный это ясно, но неужели он ещё и с разной скоростью работает в течение всего времени?
4) На сайте вычитал, что обязательно нужно при программировании ноги Reset и Vc ссянуть резистором в 10к, Reset и GND кондером в 0,01-0,15мкФ. Вопрос: Зачем такое делать? Я все время программировал и без этого! Может это есть причина всех моих вопросов выше????
|