Страница 128 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн май 23, 2011 11:29:21
master_74
Народ помогите ПЛЗ разрулить такой гемор на CV.!!!!!!\
Надо с начало перемножить два unsigned long int получится unsigned long long int,
а потом это разделить на unsigned long int получится unsigned long int.
Сижу на CV 1.25.9, а он не понимает long long int. Более позднейшее версии отлечины коряво, со старыми проблемами.
Буду счастлив если кто поделится желательно на С библиотечкой, али нормально отшпили-вилиным СV посвежее/
Можно на мыло
petrovav74@mail.ru. Заранее при много благодарен.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн май 23, 2011 20:35:30
ARV
а в double вычислить а потом в unsigned long преобоазовать - не покатит?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн май 23, 2011 21:37:51
Fasterpast
У меня 2.05.0 нормально работает.
Но long long он всё равно не поддерживает.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт май 24, 2011 17:26:53
ARM
доброго всем времени суток
возникла проблема пунктуации:
надо написать обработку прерываний по совпадению таймера с каналом А
ясно что вот так :
nterrupt [ ] void adc_isr(void)
{
}
в квадратных скобках должно быть написано что это за прерывание , вопрос в том как его правильно обозвать (или алгоритм как это сделать , в даташите написано TIMER0 COMPA при поставлении в скобки выдает ошибку)
и ещё люди нет ни у кого полной таблици наименования прерываний для CodeVision AVR
заранее спасибо
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт май 24, 2011 17:32:10
AI_Disable
ARM, зайдите в папку cvavr\inc\ и откройте хидер нужного вам контроллера. Там описаны дефйны всех векторов прерываний для данного МК.
PS Или же, в скобках, можете просто указывать номер прерывания, из таблицы в даташите.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт май 24, 2011 20:07:14
ChipKiller
AI_Disable писал(а):PS Или же, в скобках, можете просто указывать номер прерывания, из таблицы в даташите.
... не совсем так ... у CV AVR есть особенность с нумерацией векторов (так RESET открывает счет с номера 1, в даташите отсчет идет с 0 )
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт май 24, 2011 20:45:28
ARM
спасибо огромное
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб май 28, 2011 17:50:35
DataLife
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб май 28, 2011 21:07:12
rs39
Полагаю что нужно так:
После проверки состояния порта, применяйте вложенный отдельный цикл, типа:
if (PORTB.3==0)
{
while(PORTB.3==0)
{//Далее, все как у вас
if (c<=254) {
c++;
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб май 28, 2011 21:10:53
ValBag
DataLife
На PORTB.3 есть подтяжка внешним резистором? Т. е. как меняется состояние входа. Кнопкой?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб май 28, 2011 21:21:38
pyzhman
2
DataLife: этим
вы опрашиваете состояние самого порта, того, что там записано. В вашем случае надо
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб май 28, 2011 21:39:52
rs39
Еще раз намекну, что нужно применять вложенный цикл while после провки состояния PIN-a.
Причем в нем проводить повторную проверку на состояние пина. Для того, чтобы на случай отрицания можно было выйти из закольцованного цикла while.
Иначе, войти то войдем, а выйти из него не сможем когда понадобится.
Если не прав то поправте пожалуйста, так как я тоже еще начинающий в этом деле

Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт июн 02, 2011 21:20:51
MaxNzk
Здравствуйте. Подскажите пожалуйста как правильно переделать строчку для CodeVisionAvr с WinAvr?
column_ptr = pgm_read_byte(&(S_box[ column_ptr ]));
flash const byte S_box[256] и column_ptr тоже byte.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 04, 2011 21:27:25
DataLife
Спасибо все откликнувшимся.
Попробовал так, как советовал
pyzh_man
Код: Выделить всё
while (PINB.3==0) {
if (c<=254) {
c++;
}
else {
c=255;
};
delay_ms(10);
PWM_set(c);
read_adc();
};
Эффект как и раньше - светодиод загорается плавно сразу после включения питания.
Пробовал до включения PINB.3 подкидывать на плюс - всё равно.
Подтягивающего резистора нет. Минус на пинБ.3 будет подаваться от концевика авто (двери). Хочу сделать плавное зажигание подсветки в ноги. Тоесть после того, как дверь открывается (концевик замыкается на массу) плавно зажигается светодиод. Как вариант - брать питание для МК от концевика, но как-то ... не хочу.
Помогите с проблемой. По сравнению с тут задаваемыми - у мня просто детсткий вопрос...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс июн 05, 2011 09:50:55
pyzhman
Весь текст выложите. И PORTB.3 обязательно притяните к питанию, хотя бы внутренними.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс июн 05, 2011 14:07:38
DataLife
Добавил файл к посту.
Пробовал перед началом программы писать и PORTB.3=1 и PINB.3=1 - всё равно ШИМ включается сразу.

Думаю, что что--то не то с портами входа-выхода...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс июн 05, 2011 16:46:11
ukw13
DataLife
У вас какая то "хитрая" забава с записью в PINB.3. На кой такое? Ставите PORTB.3 входом с внутренней подтяжкой. Подключаете один вывод кнопки к PORTB.3, второй к GND. Желательно еще последовательно в эту цепь резистор Ом на 500. Все. Кнопку нажали, в PINB.3 появится лог.ноль и поехали. Пока кнопка не нажата там же лог.1.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс июн 05, 2011 17:26:38
pyzhman
Это чё за фигня
???
Где подтяжка
???
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс июн 05, 2011 17:41:45
DataLife
Тыкните меня носом в то место, где я не так делаю?
PINB.3=1; - до начала программы, что бы дальнейший цикл не начался раньше времени, подаю на пинБ.3 лог_1.
PORTB=0x00; - все ноги на "выходе", вроде бы как...
Расталкуйте, что тут имеется в виду под подтяжкой? Я что-то запутался.
Голова кругом... не моё это программирование...
SOS!

Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс июн 05, 2011 18:10:21
pyzhman
DataLife писал(а):не моё это программирование
Дружище! Может вам не на мк собрать, а на таймере? Зачем мучаться? Спросите у знатоков 555.