#include<90s8535.h> // функции задержки
#include<delay.h>
#define ADC_VREF_TYPE 0x00 // программа обслуживания прерывания АЦП
interrupt [ADC_INT] void adc_isr(void) // светодиоды отображают 8 наиболее значимых битов АЦП
{
PORTB=(unsigned char) ~ (ADCW>>2); // задержка 20мс
delay_ms(20);
// Начало нового АЦ преобразования
ADCSR|=0x40;
}
void main (void)
{
// инициализация порта В
PORTB=0xFF; // все выходы
DDRB=0xFF; //все светодиоды первоначально выключены
//инициализация АЦП
//тактовая частота АЦП: 57.656 кГц
//Прерывания АЦП: Вкл
ADCSR=0x8E;
// глобальное разрешение прерываний
#asm("sei")
// выберем вход 0 АЦП
ADMUX=0;
//Запустим первое АЦ преобразование
ADCSR|=0x40;
// Вся работа делается посредством АЦП прерываний
while(1);
}
//#define ADC_VREF_TYPE 0x00
Я вчера все-таки разобрался как сделать project без этого шаблона, все скомпилировал и создал, потом загружаю hex файл в протеус и не чего не работает. Помогите!
Вот мой проект, посмотрите пожалуйста, в чем там может быть ошибка.
программатор AVR-910 USB , подключён, всёнорм, но в Code Vision AVR пишет при попытке прошивки это the communication port com 3 is not available(Коммуникационный порт COM 3 недоступен) хотя программатор подключён именно к нему , а если поколдавать то и это бывает пишет Use another port, win error code 6 (Используйте другой порт, код ошибки 6)
Patrick писал(а):Ради этого все мои посты выше. Так что с выводами поаккуратнее.
А выводы и не изменились. Слов много, а толка нет.
C@at писал(а):Вот мой проект, посмотрите пожалуйста, в чем там может быть ошибка.
А вот мой проект, переделал один из примеров. С вашей прошивкой работает.
Пока разбирался нашел косяк в своем любимом IAR ( Прога нормально работает в отладчиках AVR и Proteus, а вот в IAR в прерывание не заходит (
ankrish писал(а):программатор AVR-910 USB , подключён, всёнорм, но в Code Vision AVR пишет при попытке прошивки это the communication port com 3 is not available(Коммуникационный порт COM 3 недоступен) хотя программатор подключён именно к нему , а если поколдавать то и это бывает пишет Use another port, win error code 6 (Используйте другой порт, код ошибки 6)
Не знаком с таким. Но судя по всему ошибка в железе. Программатор покупной или самодельный?
Почитайте про установку ПО для программатора и ее настройки, настройки CodeVision. Судя по всему у вас не найдет файл STK500.exe.
Кстати, проще было нажать на кнопочку prtScr, чем фоткать монитор ))
STK500 вроде бы вообще тут не при чем должен быть. Попробуйте сделать так:
В среде CodeVisionAVR работать с программатором AVR910 довольно просто (я экспериментировал с версией CodeVisionAVR 2.04.4a Advanced). Сначала настраиваете тип программатора - выбираете в меню Settings -> Programmer, выбираете тип программатора Atmel AVRProg (AVR910) и порт Communication Port. Тут надо указать тот COM-порт, который появляется в системе при подсоединении программатора к компьютеру (можно посмотреть через Диспетчер Устройств). Скорость выбираете 115200. Микроконтроллер ATmega16 записывается бинарным файлом из 5862 байт примерно за 42 секунды, проверка записи занимала 23 секунды.
самое интересное то, что когда меняешь в настройках тип программатора на AVR910, то он запрашивает com порты, а когда например
Atmel AVRISP Mkll (USB)? то выбора ком порта нету, то есть он понимает, что программируется через usb, а когда опять же вбераю AVR910, он считает, что я программирую через com port