CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: CodeVision AVR в вопросах и ответах

Сообщение FreshMan »

вопрос по атмега8
в настройках 2 таймера, при режиме СТС, есть возможность включить прерывание при переполнении http://www.imgup.ru/image-wzkx266116.html
не ошибка ли это ???
насколько я знаю в этом режиме счетчик сбрасывается при совпадении
Tell Me The Truth
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: CodeVision AVR в вопросах и ответах

Сообщение *Trigger* »

Не ошибка. Вы сами должны понимать, что в этом случае прерывание никогда не произойдёт. Но это может использоваться вот как:
Где-то в программа Вы переключаете таймер в режим сброса при переполнении и тогда прерывание включать уже не нужно.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: CodeVision AVR в вопросах и ответах

Сообщение FreshMan »

*Trigger* писал(а):Где-то в программа Вы переключаете таймер в режим сброса при переполнении и тогда прерывание включать уже не нужно.

если я включаю таймер в режим сброса при переполнении то режим сброса при совпадении отключится сам собой ?
Tell Me The Truth
ishimcity
Родился
Сообщения: 3
Зарегистрирован: Сб фев 25, 2012 15:18:39

Re: CodeVision AVR в вопросах и ответах

Сообщение ishimcity »

Подскажите пожалуйста начинающему! Создал проект в ардуино, теперь хочу перенести на атмега, но на ардуино в проекте использовал библиотеку RCswitch.h , подсунул в проект на CodeVisionAVR а она ругается на <avr/pgmspace.h> , подсунул из ардуино но все равно ругается на его что не может открыть. Подскажите как быть? Спасибо
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение vitalik_1984 »

в CVAVR вместо типа данных PGMSPACE нужно использовать тип flash и вместо процедуры read_pgm_space() делать простое обращение к ячейке памяти.
CVAVR позволяет напрямую обращаться к flash и eeprom.

Код: Выделить всё


 flash int valuable 
=5;//объявление переменной 

valuable=valuable+7//использование переменой.
 

<avr/pgmspace.h> там отсутствует совсем, не нужно это писать в CVAVR.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: CodeVision AVR в вопросах и ответах

Сообщение ELcat »

Amstron писал(а):Какую в компиле выбрать микросхему из перечисленных, если у меня 168 20 AU?
ATmega168 (без ничего) если ещё актуально.
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: CodeVision AVR в вопросах и ответах

Сообщение *Trigger* »

FreshMan писал(а):если я включаю таймер в режим сброса при переполнении то режим сброса при совпадении отключится сам собой ?

Да. Но вот прерывание по совпадении не отключится.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
AVL
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Чт июл 17, 2008 20:53:28
Откуда: Коломыя UA
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение AVL »

Всем привет!
Простейший код:

Код: Выделить всё

while (1)
 {
 // Place your code here
 unsigned long int res = 123456;
 printf("res = %u\n", res); 
}


По RS232 возвращает значение "res = 57920". Как добиться, чтоб "res = 123456" возвращало?
СПАСИБО!
Последний раз редактировалось AVL Ср апр 03, 2013 15:49:50, всего редактировалось 1 раз.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Аlex »

ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: CodeVision AVR в вопросах и ответах

Сообщение ut1wpr »

Аlex писал(а):http://www.cplusplus.com/reference/cstdio/printf/
Только не забывать, что разные компиляторы этот самый printf по разному поддерживают. Даже есть возможность выбора опций с целью экономии кода. Но Алекс в целом прав, почитайте про поля параметров этой наиболее мощной функции.
Подсказка - у вас несоответствие типа переменной в спецификаторе вывода. Осилите эту подсказку, дальше легче пойдет.
С уважением,
Виктор.
dimka86
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Вт фев 21, 2012 15:05:12

Re: CodeVision AVR в вопросах и ответах

Сообщение dimka86 »

Доброго времени суток подскажите имется строка S1=xxxxx(переменная) как сделать чтоб S1 стала txxxxxe то есть с начала присоединить символ 't' а к концу символ 'e'
за ранее спасибо!
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: CodeVision AVR в вопросах и ответах

Сообщение ut1wpr »

dimka86 писал(а):Доброго времени суток подскажите имется строка S1=xxxxx(переменная) как сделать чтоб S1 стала txxxxxe то есть с начала присоединить символ 't' а к концу символ 'e'
за ранее спасибо!
Если работаете со стрингами (есть #include "string.h"), то почитайте про функцию конкатенции строк в Си. ( strcat(s1,s2) ) http://roseindia.net/c-tutorials/c-str-con.shtml
"за ранее" - за что? (Благодарю за ранее сделанное мне предложение)
"заранее" - как? (съели заранее подготовленный ужин)
Это разные обороты речи. :)
С уважением,
Виктор.
dimka86
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Вт фев 21, 2012 15:05:12

Re: CodeVision AVR в вопросах и ответах

Сообщение dimka86 »

за совет
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: CodeVision AVR в вопросах и ответах

Сообщение ut1wpr »

dimka86 писал(а):за совет
В этом случае "заранее" пишется вместе. :)
А чтобы не страдать с этим проклятым навороченным русским, пишите по аглицки, просто и со вкусом: "Tnanks in advance", типа "спасибо в будущем", хотя правильный перевод будет все же "Благодарю заранее". :)
Да не берите в голову. Пишите, как угодно. Просто мне ошибки глаз режут. Вечно ворчу по пустякам. Ну и что из того? Не всем ведь правильно писать.. :)
С уважением,
Виктор.
AVL
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Чт июл 17, 2008 20:53:28
Откуда: Коломыя UA
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение AVL »

ut1wpr писал(а):
Аlex писал(а):http://www.cplusplus.com/reference/cstdio/printf/
Только не забывать, что разные компиляторы этот самый printf по разному поддерживают. Даже есть возможность выбора опций с целью экономии кода. Но Алекс в целом прав, почитайте про поля параметров этой наиболее мощной функции.
Подсказка - у вас несоответствие типа переменной в спецификаторе вывода. Осилите эту подсказку, дальше легче пойдет.

Вот правильный ответ:

long res = 1234567890;
printf("res= %ld\n", res);

Выводит res = 1234567890

Спасибо!
dimka86
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Вт фев 21, 2012 15:05:12

Re: CodeVision AVR в вопросах и ответах

Сообщение dimka86 »

ut1wpr писал(а):
dimka86 писал(а):за совет
В этом случае "заранее" пишется вместе. :)
А чтобы не страдать с этим проклятым навороченным русским, пишите по аглицки, просто и со вкусом: "Tnanks in advance", типа "спасибо в будущем", хотя правильный перевод будет все же "Благодарю заранее". :)
Да не берите в голову. Пишите, как угодно. Просто мне ошибки глаз режут. Вечно ворчу по пустякам. Ну и что из того? Не всем ведь правильно писать.. :)

Видимо считаете себя очень умным за урок правописания спасибо запомню.Но я считаю ответы по теме должны быть, а блестать знаниями не по теме, ищите себе других людей кому делать нечего.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: CodeVision AVR в вопросах и ответах

Сообщение Apparatchik »

dimka86 писал(а):Доброго времени суток подскажите имется строка S1=xxxxx(переменная) как сделать чтоб S1 стала txxxxxe то есть с начала присоединить символ 't' а к концу символ 'e'
за ранее спасибо!

Строка это массив символов, и с ней можно работать как с "обычным" массивом, например перебирать в цикле, присваивать конкретным элементам какие-то значения (в вашем случае символы). Только нужно не забывать, что последний элемент это всегда окончание строки, тоесть '\0'!
«И всё-таки она вертится!»
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: CodeVision AVR в вопросах и ответах

Сообщение ut1wpr »

dimka86 писал(а):Видимо считаете себя очень умным за урок правописания спасибо запомню.Но я считаю ответы по теме должны быть, а блестать знаниями не по теме, ищите себе других людей кому делать нечего.
Достойный ответ. Иного и не ожидал :) А что, у вас "грамотный" отождествляется с "умный"? :)
Во всем мире за любую науку принято благодарить. У нас не прижилось. Получаем в ответ "сам дурак". :)
С уважением,
Виктор.
dimka86
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Вт фев 21, 2012 15:05:12

Re: CodeVision AVR в вопросах и ответах

Сообщение dimka86 »

ut1wpr писал(а):
dimka86 писал(а):Видимо считаете себя очень умным за урок правописания спасибо запомню.Но я считаю ответы по теме должны быть, а блестать знаниями не по теме, ищите себе других людей кому делать нечего.
Достойный ответ. Иного и не ожидал :) А что, у вас "грамотный" отождествляется с "умный"? :)
Во всем мире за любую науку принято благодарить. У нас не прижилось. Получаем в ответ "сам дурак". :)

Вы же меня процитировали:'за урок правописания спасибо запомню' грамотный молодец зачем поучать, идите в школу и там детишек учите.Пора прекращать флудить не по теме(это я себе) за сим откланиваюсь.
dimka86
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Вт фев 21, 2012 15:05:12

Re: CodeVision AVR в вопросах и ответах

Сообщение dimka86 »

Apparatchik писал(а):
dimka86 писал(а):Доброго времени суток подскажите имется строка S1=xxxxx(переменная) как сделать чтоб S1 стала txxxxxe то есть с начала присоединить символ 't' а к концу символ 'e'
за ранее спасибо!

Строка это массив символов, и с ней можно работать как с "обычным" массивом, например перебирать в цикле, присваивать конкретным элементам какие-то значения (в вашем случае символы). Только нужно не забывать, что последний элемент это всегда окончание строки, тоесть '\0'!

спасибо за совет я так и сделал просто не увидел вашего сообщеия другими зачитался.
Ответить

Вернуться в «AVR»