CodeVision AVR в вопросах и ответах
- Corporal
- Прорезались зубы
- Сообщения: 226
- Зарегистрирован: Вт мар 03, 2009 11:37:31
- Откуда: Николаевская обл.
Re: CodeVision AVR в вопросах и ответах
Ага, вот оно что. Спасибо за разъяснения. Я подумаю, что и как буду делать. 
Re: CodeVision AVR в вопросах и ответах
подозреваю что уже много раз спрашивали, но честно признаюсь лень все перечитывать.
существует ли в принципе CodeVision AVR на русском. спасибо.
существует ли в принципе CodeVision AVR на русском. спасибо.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
да, существует. вот она: КодеВизион АВРneon-f писал(а):подозреваю что уже много раз спрашивали, но честно признаюсь лень все перечитывать.
существует ли в принципе CodeVision AVR на русском. спасибо.
на русском вообще существует все, что в состоянии произнести трезвый человек
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: CodeVision AVR в вопросах и ответах
я много читал форум, очень много ваших толковых сообщений, видел ваш сайт, ваши конструкции, все очень круто и авторитетно.
ответить на мой вопрос можно было просто да\нет. а русификатор(если он есть) снизил бы мой барьер вхождения в программу.
ответить на мой вопрос можно было просто да\нет. а русификатор(если он есть) снизил бы мой барьер вхождения в программу.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
если вы прислушиваетесь к моим словам, то поверьте: никогда русификатор не делал программу лучше и понятнее, чем оригинал! не привыкайте к костылям, учитесь ходить сразу.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- evgeniy66
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Пт май 01, 2009 08:58:42
- Откуда: г. Коломна
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
neon-f писал(а):подозреваю что уже много раз спрашивали, но честно признаюсь лень все перечитывать.
существует ли в принципе CodeVision AVR на русском. спасибо.
Руссификаторов к этой проге нет (да и прав ув. ARV , от них больше вреда , чем пользы), но есть неплохая книга на русском:
Лебедев М.Б. "CodeVision AVR. пособие для начинающих"
В инете есть сканы этой книги.
Re: CodeVision AVR в вопросах и ответах
ну чтож, нет так нет. будем как все.
обязательно скачаю. сейчас читаю "Создаем устройства на микроконтроллерах (Белов)(2007)" неплохо для нулевых. именно с этой книгой я сдвинулся с мертвой точки в изучении С и контроллеров. перед этим пробовал читать "Программирование на языке C для AVR и PIC микроконтроллеров" но как то не пошло, её читать нужно уже имея определенный знания.evgeniy66 писал(а):но есть неплохая книга на русском:
Лебедев М.Б. "CodeVision AVR. пособие для начинающих"
- evgeniy66
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Пт май 01, 2009 08:58:42
- Откуда: г. Коломна
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
neon-f писал(а):сейчас читаю "Создаем устройства на микроконтроллерах (Белов)(2007)" неплохо для нулевых. именно с этой книгой я сдвинулся с мертвой точки в изучении С и контроллеров. перед этим пробовал читать "Программирование на языке C для AVR и PIC микроконтроллеров" но как то не пошло, её читать нужно уже имея определенный знания.
Тогда еще прочтите:
Евстифеев А.В. "Микроконтроллеры AVR семейств Tiny и Mega фирмы "Atmel"
Эта книга написана, как объединенный вариант даташитов на микроконтроллеры.
Re: CodeVision AVR в вопросах и ответах
Подскажите че за нафиг, CVAVR ругается на строчки
byte ReadCode(void){
LCD_DATA_PORT=0x00;
и там и там ошибка Missing '('
После ICCV7 CVAVR если честно фигово попахивает

byte ReadCode(void){
LCD_DATA_PORT=0x00;
и там и там ошибка Missing '('
После ICCV7 CVAVR если честно фигово попахивает
Re: CodeVision AVR в вопросах и ответах
Колеги. Может я не там ищу, но подскажите пожалуйста. Где то можно в CV посмотреть из чего состоят функции 1-wire - типа w1_search - что то я покопался и не вижу исходников, неужели в exe запрятаны?
Re: CodeVision AVR в вопросах и ответах
lirik писал(а):Подскажите че за нафиг, CVAVR ругается на строчки
byte ReadCode(void){
LCD_DATA_PORT=0x00;
и там и там ошибка Missing '('
После ICCV7 CVAVR если честно фигово попахивает![]()
Посмотрите выше по коду, бывает так ругается когда точка запятая выше пропущена.
- sema
- Мудрый кот
- Сообщения: 1708
- Зарегистрирован: Ср апр 23, 2008 17:44:56
- Откуда: Россия, г. Нижний Новгород
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
nsl2004 писал(а):Колеги. Может я не там ищу, но подскажите пожалуйста. Где то можно в CV посмотреть из чего состоят функции 1-wire - типа w1_search - что то я покопался и не вижу исходников, неужели в exe запрятаны?
есть такая программка... ResHacker ... дальше объяснять не буду
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
- evgeniy66
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Пт май 01, 2009 08:58:42
- Откуда: г. Коломна
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
lirik писал(а):Подскажите че за нафиг, CVAVR ругается на строчки
byte ReadCode(void){
LCD_DATA_PORT=0x00;
и там и там ошибка Missing '('
После ICCV7 CVAVR если честно фигово попахивает![]()
Замените byte на char или int и он перестанет ругается.
Re: CodeVision AVR в вопросах и ответах
будьте добрЫ, подскажите где ошибка.
хочу чтоб переменная sec увеличивалась при каждом переполнении таймера Т1.
писал вот так-
#include <tiny2313.h>
unsigned char sec=0x00;
interrupt [6] void overflow_timer1(void) \\обработка прерывания по переполнению Т1
{sec++;}
void main(void)
{
DDRB=0xFF;
TIMSK=0x80;\\ разрешение прерываний
#asm("sei")
while (1)
{
PORTB=sec;
}
}
хочу чтоб переменная sec увеличивалась при каждом переполнении таймера Т1.
писал вот так-
#include <tiny2313.h>
unsigned char sec=0x00;
interrupt [6] void overflow_timer1(void) \\обработка прерывания по переполнению Т1
{sec++;}
void main(void)
{
DDRB=0xFF;
TIMSK=0x80;\\ разрешение прерываний
#asm("sei")
while (1)
{
PORTB=sec;
}
}
- evgeniy66
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Пт май 01, 2009 08:58:42
- Откуда: г. Коломна
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
neon-f писал(а):будьте добрЫ, подскажите где ошибка.
TIMSK=0x80;\\ разрешение прерываний
#asm("sei")
while (1)
{
PORTB=sec;
}
}
Для разрешения прерываний по переполнению таймера 1 должно быть TIMSK=0x04;
Re: CodeVision AVR в вопросах и ответах
TIMSK=0x80; ставил сам CodeVision. С TIMSK=0x04; тоже прерывания не наступают
может ошибка в строке обработки прерывания - interrupt [6] void overflow_timer1(void) ?? я её переписал с книги которую мне советовали выше. так вот, в примере был указан вектор 7. я открыл даташит на тини 2313, и там номер вектора для прерывания по переполнению таймера Т1 - 6. Но в любом случаи не с 6, не с 7 прерывания не наступают(или не обрабатываются)....
может ошибка в строке обработки прерывания - interrupt [6] void overflow_timer1(void) ?? я её переписал с книги которую мне советовали выше. так вот, в примере был указан вектор 7. я открыл даташит на тини 2313, и там номер вектора для прерывания по переполнению таймера Т1 - 6. Но в любом случаи не с 6, не с 7 прерывания не наступают(или не обрабатываются)....
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
вот у того, кто ставил, и спросите. сколько уже можно объяснять: если перекладывать свои проблемы на чужие плечи, тем более на бездушные программы, то количество проблем не уменьшается, а иммунитет против них так и не вырабатывается... попробуйте ставить все самостоятельно, чтобы понимать, наконец, что происходит!neon-f писал(а):TIMSK=0x80; ставил сам CodeVision.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: CodeVision AVR в вопросах и ответах
Ок. я не против выработки иммунитета. я сам очень хочу разобраться за что отвечает каждая буква в моей программе.
Вот что я прочитал
1. Создаем устройства на микроконтроллерах (Белов)(очень внимательно!!!)
2. CodeVisionAVR Пособие для начинающих М.Б.Лебедев 2008
И именно по примерам из этих книг родился тот код который я приводил выше. Я допускаю что я многое понял неверно, или вообще не понял. Вот и прошу форумчан указать где я ошибаюсь.
Вот как я понимаю работу с прерываниями:
чтобы использовать прерывание нужно сначала разрешить использование конкретного прерывания и настроить параметры его работы. затем нужно написать обработчик прерываний, т.е. небольшую программку которая будет выполняться при наступлении прерывания. ну и наконец разрешить прерывания вообще.
С последним пунктом вроде все просто, ставим внутри функции main строчку - "#asm("sei")" , и все.
С обработчиком прерываний тоже. Создаем функцию interrupt [] void name(void) где interrupt означает что это функция которая вызывается прерыванием, в квадратных скобках указывается какое именно событие вызовет эту функцию(в моем случаи TIM1_OVF, т.е. когда счетчик Т1 переполнится ), ну и name - любое имя.
А вот с настройкой таймера все сложнее. Здесь больше параметров, и к тому же я не нашел где подробно объясняется в какой регистр какое значение нужно записать.
Вот эти регистры (как я понял) отвечают за конфигурацию работы таймера-счетчика Т1
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
И
TIMSK=0x80;
CodeVision почему то оставил их равными нулю, кроме TIMSK.
кто может восполнить пробелы моих знаний, или указать где это подробно разжевано для новичков.
обязательное условие - на русском
Вот что я прочитал
1. Создаем устройства на микроконтроллерах (Белов)(очень внимательно!!!)
2. CodeVisionAVR Пособие для начинающих М.Б.Лебедев 2008
И именно по примерам из этих книг родился тот код который я приводил выше. Я допускаю что я многое понял неверно, или вообще не понял. Вот и прошу форумчан указать где я ошибаюсь.
Вот как я понимаю работу с прерываниями:
чтобы использовать прерывание нужно сначала разрешить использование конкретного прерывания и настроить параметры его работы. затем нужно написать обработчик прерываний, т.е. небольшую программку которая будет выполняться при наступлении прерывания. ну и наконец разрешить прерывания вообще.
С последним пунктом вроде все просто, ставим внутри функции main строчку - "#asm("sei")" , и все.
С обработчиком прерываний тоже. Создаем функцию interrupt [] void name(void) где interrupt означает что это функция которая вызывается прерыванием, в квадратных скобках указывается какое именно событие вызовет эту функцию(в моем случаи TIM1_OVF, т.е. когда счетчик Т1 переполнится ), ну и name - любое имя.
А вот с настройкой таймера все сложнее. Здесь больше параметров, и к тому же я не нашел где подробно объясняется в какой регистр какое значение нужно записать.
Вот эти регистры (как я понял) отвечают за конфигурацию работы таймера-счетчика Т1
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
И
TIMSK=0x80;
CodeVision почему то оставил их равными нулю, кроме TIMSK.
кто может восполнить пробелы моих знаний, или указать где это подробно разжевано для новичков.
обязательное условие - на русском
- evgeniy66
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Пт май 01, 2009 08:58:42
- Откуда: г. Коломна
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
neon-f писал(а):CodeVision почему то оставил их равными нулю, кроме TIMSK.
кто может восполнить пробелы моих знаний, или указать где это подробно разжевано для новичков.
обязательное условие - на русском
Для TIMSK все правильно, я в предыдущем посте указывал значение для других контроллеров, а таймер у Вас остановлен, прочитайте повнимательней хотя бы в этой же книги про настройку таймеров.
Re: CodeVision AVR в вопросах и ответах
"Когда пользуетесь визардом в кодевижене, смотрите внимательно на поля, Вами заполняемые. Иначе такое использование будет пустою забавою..." (с) Козьма Прутков программист
Поле "Clock Value" по умолчанию имеет значение "Timer 1 Stopped". Вот Вам кодевизион и пишет: TCCR1B=0x00;
Интересно, как возникнет переполнение при остановленном таймере?
Вход таймера то надо подключить хотя бы к тактовой частоте: TCCR1B=0x01;
Поле "Clock Value" по умолчанию имеет значение "Timer 1 Stopped". Вот Вам кодевизион и пишет: TCCR1B=0x00;
Интересно, как возникнет переполнение при остановленном таймере?
Вход таймера то надо подключить хотя бы к тактовой частоте: TCCR1B=0x01;