Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Atmega162 странности?!
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
adruha
Не знаю в чем причина но с такой бякой сталкиваюсь впервые. Может я просто не знаю этот камень, но вот такая беда. Сначала пропал SPI взял JTAG смотрю фузы, спи на месте, а с частотой какая то ерунда вот дословно что я увидел а АВРСтудии (Int. RC Osc.; Start-up time: 6 CK + 65 ms) то есть частоты как таковой вроде нет? Заливаю простейший код по моргать диодом не работает. Ставлю внешний генератор на 8 мгц тоже не работает. В общем не знаю что и думать. Может кто сталкивался с подобным?
=GM=
Цитата(adruha @ Feb 4 2009, 19:20) *
с частотой какая то ерунда вот дословно что я увидел а АВРСтудии (Int. RC Osc.; Start-up time: 6 CK + 65 ms) то есть частоты как таковой вроде нет?

Int. RC Osc. - это ж вроде внутренний RC-генератор, получается что частота, как таковая, есть...
adruha
Цитата(=GM= @ Feb 5 2009, 00:05) *
Int. RC Osc. - это ж вроде внутренний RC-генератор, получается что частота, как таковая, есть...


Да внутренний, но как же, а где ее количество 1,2,4,8 ???
haker_fox
Цитата(adruha @ Feb 5 2009, 13:27) *
Да внутренний, но как же, а где ее количество 1,2,4,8 ???

Это не количество, а ряд частот. Выбирается фьюзами (fuse bits).
adruha
Цитата(haker_fox @ Feb 5 2009, 08:50) *
Это не количество, а ряд частот. Выбирается фьюзами (fuse bits).


Похоже что вы не внимательно прочитали мой пост. Извините за ошибку конечно же ряд частот. Так вот еще раз говорю что в АВРСтудии должно по идее быть (Int. RC Osc.8; Start-up time: 6 CK + 65 ms) но там цифры нет, на других контроллерах все нормально, вот я и засомневался может с камнем что не так. Поэтому и интересуюсь может кто сталкивался с подобным явлением.
sgs
Цитата(adruha @ Feb 5 2009, 10:03) *
Похоже что вы не внимательно прочитали мой пост. Извините за ошибку конечно же ряд частот. Так вот еще раз говорю что в АВРСтудии должно по идее быть (Int. RC Osc.8; Start-up time: 6 CK + 65 ms) но там цифры нет, на других контроллерах все нормально, вот я и засомневался может с камнем что не так. Поэтому и интересуюсь может кто сталкивался с подобным явлением.


Если речь идет действительно о ATmega 162, то там никакой сетки частот нет, есть один внутренний генератор 8 МГц, а системная частота может настраиваться через регистр CLKPR. Посмотреть, работает ли внутренний генератор, проще всего на выходе Port B.0 при запрограммированном CKOUT Fuse.
west329_
С конвеера завода контроллер настроен на внутренний генератор, который работает на частоте 8 мгц, но там ещё включен предделитель на 8, в итоге результирующая частота работы контроллера равна 1мгц.

битами CKSEL 0-3 можно переключится на внешний кварц.

а также CKDIV8 отключаем внутренний предделитель тактовой частоты на 8.
adruha
да бох с ним с внутренним яж вам говорю подцепил внешний на 8 мгц и не пашет нет прерывания и все.
adruha
больше мыслей нет?
haker_fox
Цитата(adruha @ Feb 5 2009, 16:17) *
да бох с ним с внутренним яж вам говорю подцепил внешний на 8 мгц и не пашет нет прерывания и все.

ничего не понятно, что Вы хотите...
Если подцепили внешний кварц, так выберите "Ext. Crystal..." и прошейте это значение фьюзов.
О каком прерывании идет речь?
adruha
Цитата(haker_fox @ Feb 5 2009, 14:08) *
ничего не понятно, что Вы хотите...
Если подцепили внешний кварц, так выберите "Ext. Crystal..." и прошейте это значение фьюзов.
О каком прерывании идет речь?


Ну конечно я прекрасно понимаю что нужно выбрать внешний кварц в настройках фузов. Я так и делаю но камень не работает. Прерывания имею ввиду элементарные на порту В2 например сидит нога светодиода программно делаю ее источником положительного сигнала (или минуса без разницы, есно меняю диод ногами) и осуществляю задержку _delay_ms(50); после задержки программно запрещаю ногу В2 как источник плюса. Так вот диод не моргает хоть какую задержку ставь.
haker_fox
Цитата(adruha @ Feb 5 2009, 19:36) *
не работает.

Код и схему в студию!
adruha
Код
#include <avr/io.h>
#include <compat/deprecated.h>
#include <avr/interrupt.h>
#include <util/delay.h>



void led(void){
    sbi(DDRA,PA4);
    sbi(PORTA,PA4);
_delay_us(50);
    cbi(DDRA,PA4);
    cbi(PORTA,PA4);    
}

int main(void)
{

while(1)
    {
    led();
    }

}


Я думаю схему можно и самому догадаться там один диод!
haker_fox
Код
void led(void){
    sbi(PORTA,PA4);
        _delay_us(50);
    cbi(PORTA,PA4);    
         _delay_us(50);
}

А если так? Чем смотрите прерывания? Надеюсь не по светодиоду? Ножку на выход настройте один раз!!! где нить в начале программы. Если хотите увидеть мигание светодиода, то частоту мигания следует взять во много раз ниже. Например 1Гц. Тогда используйте задержку в 500 мс, на не в 50 мкс.
GDI
А вы ногу порта не могли перепутать? Лучше сразу на весь порт сделайте вывод.
haker_fox
Цитата(adruha @ Feb 5 2009, 21:29) *
Я думаю схему можно и самому догадаться там один диод!

Причем тут диод? А питание? А кварц? Я думаю, что об этом самому можно было догадаться biggrin.gif
zombi
Я бы вот так попробывал
Код
void led(void){
    sbi(PORTA,PA4);
_delay_us(50);
    cbi(PORTA,PA4);    
_delay_us(50);
}

int main(void)
{
sbi(DDRA,PA4);
while(1)
    {
    led();
    }
}
adruha
Цитата(GDI @ Feb 5 2009, 16:54) *
А вы ногу порта не могли перепутать? Лучше сразу на весь порт сделайте вывод.


Хорошо, попробую объяснить по подробнее. Во первых хоть так хоть по другому открывай закрывай порт разницы в этом не много. Во вторых это мой не первый проект и не первый камень. И уш поверьте мне я все пересмотрел и порт и диод и так далее (еще спросите а питание я подключил к контроллеру :-) ).... Вы посмотрите по внимательнее самый первый пост яж там написал, сначало пропал спи, причем без всяких на то причин. Ну да ладно я так понимаю телепатов тут нет и мне не помогут. Все тема закрыта. Простите если что не так... выкину камень пойду куплю другой.
haker_fox
Цитата(adruha @ Feb 5 2009, 23:44) *
Во вторых это мой не первый проект и не первый камень.

Да? Как же тогда мигание светодиодом Вы написали мало того, что с 50 мкс задержкой (частота мигания 10 КГц, не один глаз не увидит), так еще одну и не дописали?
Цитата(adruha @ Feb 5 2009, 23:44) *
я так понимаю телепатов тут нет и мне не помогут.

Вы абсолютно верно понимаете. В условиях кризиса их мало осталось... crying.gif
Цитата(adruha @ Feb 5 2009, 23:44) *
Все тема закрыта.

Не закрыта. Для закрытия в левом нижнем углу есть "Опции модератора".
adruha
Цитата(haker_fox @ Feb 5 2009, 19:30) *
Да? Как же тогда мигание светодиодом Вы написали мало того, что с 50 мкс задержкой (частота мигания 10 КГц, не один глаз не увидит), так еще одну и не дописали?

Вы абсолютно верно понимаете. В условиях кризиса их мало осталось... crying.gif

Не закрыта. Для закрытия в левом нижнем углу есть "Опции модератора".


Я не писал что я АСС в этом деле но вроде элементарные вещи понимаю!
Этот код я написал для тэста именно этого контроллера а цифры были такими по тому что менял в процессе проверки в разные стороны! Что последнее осталось то и вставил в цитату. Сейчас попробовал запустить калибровку от AVR053 пишет (EEPROM OSCCAL location contain an invalid value: 0xFF), похоже что с камнем проблемы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.