|
AVR первые шаги - первые ошибки |
|
|
|
Nov 1 2006, 07:58
|

Частый гость
 
Группа: Новичок
Сообщений: 116
Регистрация: 14-02-06
Из: Москва. Перово
Пользователь №: 14 296

|
Помоему почти всё не правильно. Код #include <mega16.h> // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here PORTA=~PORTA.0; }
void main(void) { // Input/Output Ports initialization // Port A initialization PORTA=0b11111110; DDRA = 0b00000001;
// Port B initialization PORTB=0x00; DDRB=0x00;
// Port C initialization PORTC=0x00; DDRC=0x00;
// Port D initialization PORTD=0x00; DDRD=0x00;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 3,906 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x05; TCNT0=0x00; OCR0=0x00;
// External Interrupt(s) initialization MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; ACSR=0x80; SFIOR=0x00; // Global enable interrupts #asm("sei")
while (1) { // Place your code here }; } БЕЗ КВАРЦАCSEL3...0 = 0011 = слева на права - ( галка, галка, пусто, пусто) - (галка - это ноль - это сброшен) SUT0 = галка, SUT1 = пусто или просто не трогаешь (оставляешь как есть)
Сообщение отредактировал $ilent - Nov 1 2006, 08:00
|
|
|
|
|
Nov 1 2006, 09:20
|

Участник

Группа: Участник
Сообщений: 62
Регистрация: 1-11-06
Пользователь №: 21 847

|
Цитата($ilent @ Nov 1 2006, 10:58)  Помоему почти всё не правильно. Код #include <mega16.h> // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here PORTA=~PORTA.0; }
void main(void) { // Input/Output Ports initialization // Port A initialization PORTA=0b11111110; DDRA = 0b00000001;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; ACSR=0x80; SFIOR=0x00; // Global enable interrupts #asm("sei")
while (1) { // Place your code here }; } БЕЗ КВАРЦАCSEL3...0 = 0011 = слева на права - ( галка, галка, пусто, пусто) - (галка - это ноль - это сброшен) SUT0 = галка, SUT1 = пусто или просто не трогаешь (оставляешь как есть) Ситуация такая же. В VMLab все эмулируется. Прошиваю, тишина.
|
|
|
|
|
Nov 1 2006, 11:50
|

Участник

Группа: Участник
Сообщений: 62
Регистрация: 1-11-06
Пользователь №: 21 847

|
Цитата(Petka @ Nov 1 2006, 12:43)  Цитата(D H @ Nov 1 2006, 12:20)  Ситуация такая же. В VMLab все эмулируется. Прошиваю, тишина.
Вы ресет к пяти вольтам хоть чем-нибудь тяните? Нет. Резистор отсутствовал. Поставил и все запустилось. Огромное спасибо. Начало положено. Надо отдать должное дружелюбию и стремлению помочь новичку. Ваш форум был третий, где я задал вопрос и, что самое главное, получил внятный ответ. На остальных форумах ответы были такого характера : "Пиши на асме и все будет понятно". Еще раз огромное спасибо.
|
|
|
|
|
Nov 1 2006, 15:28
|
Частый гость
 
Группа: Свой
Сообщений: 83
Регистрация: 25-11-05
Из: odessa
Пользователь №: 11 397

|
давно уже хотел спросит форумчан, да всё новую тему не хочется открывать =)
раз уж здесь оказалось дело в ресете... скажите мне: я экспериментально установил, что ресет, висящий в воздухе, прекрасно позволяет работать атмеге. сделал уже не одно любительское устройство (на профессионализм пока и не претендую), которые работают и под капотом машины, и в комнатных условиях... и ещё не разу не сталкивался с проблемами.
если мне надо хардварный ресет, то просто кидаю кнопку с ресета на землю. и прекрасно работает!
так вот вопрос: чем мне это грозит в будущем? =)
--------------------
Вся жизнь - ништяк, все бабы - леди, а солнце - шар дающий свет
|
|
|
|
|
Nov 1 2006, 20:56
|
Частый гость
 
Группа: Свой
Сообщений: 83
Регистрация: 25-11-05
Из: odessa
Пользователь №: 11 397

|
от рисета идёт, на разъём программирования... буду его обрубать на пп после прошивки =)
--------------------
Вся жизнь - ништяк, все бабы - леди, а солнце - шар дающий свет
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|