PizzaHunter
-
Постов
4 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные PizzaHunter
-
-
Если не секрет, зачем вам столько ШИМ сигналов сразу?
ПС просто интересно)
0 -
Это скрин-шот последующих попыток. В первый раз я прошивал фюзы. И только один из них - тот что отмечен на скриншоте. То есть в первый раз галочка program fuse bits стояла.
"Простенький генератор на несколько мегагерц" - что вы имеете ввиду? у меня стоит кварц на 16МГц, и еще второй низкочастотный. Есть в запасе кварц на 4Мгц. Или этот генератор не на кварцевом резонаторе?
0 -
Здравствуйте, господа. Я студент 2го курса, захотел научиться работать с МК.
У меня Atmega128, на макетной плате. Я пользуюсь CVAVR. Программатор - ISP на LPT порте, BM9009 от МастерКита.
Питание - через стабилизатор 5В, от аккума 9.6В. На плате есть вся обвязка контроллера, кнопка ресет, 2 кварца, прикреплена платка со светодиодами. Я изначально хотел сделать то что описано в Задании 1 курса по AVR. ВОТ
Но столкнулся с проблемой. 1й раз я прошил МК, с единственным запрограммированным фюзом CKOPT = 0 (что значит - использовать внешний кварц больше 8МГц - у меня на 16МГц.)
А второй раз CVAVR упорно не желает его прошивать.
Лампочки мигают после прошивки при подключении питания, ресет работает как кнопкой так и с компа, питане на шлейф программатора идет - проверял мультиметром. Программатор выбран STK200+/300
как и нужно. Выбран LPT1 порт. У меня на компе есть только он.
Я надеюсь если он мигает светодиодами, то контроллер еще жив.
Код программы прилагается:
#include <mega128.h>
#define PA_OUT DDRA = 0xFF
// ++++ функция инициализации МК ++++
void initialization(void){
PA_OUT; //сделать PORTA выходом
TCCR0 = 0x07;/* таймер включить
последние 3 бита тут 1 0 1, а нужно вроде как 1 1 1...??? может нада написать TCCR0 = 0x07; ?? ) раз меньше чем тактовая.*/
}
void main(void)
{
initialization();
while(1) //бесконечный цикл
{
PORTA++; //PORTA=PORTA+1
while (!(TIFR&0x01));// ждем установки флага переполния TIMER0(TIFR - флаг переполнения) 1&1 = 1; !1 = 0. While(0) - выход из цикла, идем дальше, вниз, и обнуляем флаг.
TIFR = 0x01; //обнулить флаг переполнения. в AVR обнуляется при вписывании единицы. теперь идем в начало функции main. и так пока не отключим питание МК или не клацнем RESET кнопку
}
}
Гуру, подскажите в чем может быть проблема.... Пожалуйста.
И вот что мне говорит CVAVR:
0
Помогите студенту-чайнику по МК
в МК для начинающих
Опубликовано
Решил проблему! оказалось, не нужно было подсоединять выход LED с программатора на XTAL1, если уже используется внешний генератор частоты.