CodeVisionAVR 2.60
30.01.2014, 14:09
|
|
|
Гражданин KAZUS.RUN
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: CodeVisionAVR 2.60
Сообщение от olc0267
|
|
Если я понял правильно тему спора, то я тогда не понял, о чём спор.
|

В отличии от вас, предыдущий любитель CV, хотя бы понимал "о чём спор".
А вам хочется пожелать работать с могучей штукой, и не заморачиваться. Не знаю как у кого, а у меня полностью пропало желание о чём либо говорить. ))
Шёл как-то вдоль речки. Видел сцену. Место возле больницы в посёлке.
Сидят двое мужиков на берегу. Один разливает портвейн по стаканам. Третий шляется в отдалении.
Первый кричит дальнему:
(П) - Мужиииик. Пить будешь?
(Д) - Аааа?
(П) - Пить говорю будешь?
(Д) - Чтооо?
Тут подключается второй, который разливает.
(В) - Иди домой!!!
Не обижайтесь, но хочется вас домой отправить... ))))
|
|
|
|
30.01.2014, 16:34
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
|
Re: CodeVisionAVR 2.60
Сообщение от SasaVitebsk
|
|
хочется вас домой отправить... ))))
|
Какой домой. Ещё с FFT не разобрались. Почему каждый раз разные значения времени выполнения.
Какие данные должен быть в результате?
Разные значения - оно понятно. Почему у автора получались одинаковые?
|
|
|
|
30.01.2014, 16:38
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.08.2008
Адрес: Ярославль
Сообщений: 1,504
Сказал спасибо: 115
Сказали Спасибо 1,314 раз(а) в 548 сообщении(ях)
|
Re: CodeVisionAVR 2.60
Сообщение от SasaVitebsk
|
|
В отличии от вас, предыдущий любитель CV, хотя бы понимал "о чём спор".
|
Тогда почему так много страниц наплодили по поводу volatile?
Я всего лишь хотел показать, что в опциях компилятора можно включить или выключить необходимость применения volatile.
|
|
|
|
30.01.2014, 16:44
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: CodeVisionAVR 2.60
Сообщение от Godzilla82
|
Потому, что WinAVR умный. Он оптимизирует программу. Смотрит, что переменная j нигде не используется, тело цикла пустое. И, скорее всего, выбрасывает весь цикл. Для этого попробуйте описать переменную j с квалификатором volatile или так:
|
Код:
|
void delay (int m)
{
int j;
for(j=0; j‹m; j++) {
asm volatile ("nop");
}
} |
А зачем вам самому писать такие функции?
|
Иногда проще заставить компилятор делать "ничего". Без volatile, вы же его не любите...
|
Код:
|
void delay (int m){
while( m-- ) continue;
} |
По сути одно и то же, но писанины немного меньше.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
30.01.2014, 19:58
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: CodeVisionAVR 2.60
__________________
There's always more than one way to skin a cat.
|
|
|
|
30.01.2014, 20:36
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.08.2008
Адрес: Ярославль
Сообщений: 1,504
Сказал спасибо: 115
Сказали Спасибо 1,314 раз(а) в 548 сообщении(ях)
|
Re: CodeVisionAVR 2.60
А сыр-бор разгорелся из-за этого
https://kazus.run/forums/showpost.ph...8&postcount=30
Если все такие умные, то вместо того, чтобы говном друг в друга плеваться, объяснили бы человеку, что если глобальная переменная используется в обработчике прерывания, она не должна размещаться в регистре. Потому что если контроллер сохранит этот регистр в стек при входе в процедуру обработки прерывания, а при выходе восстановит сохранённые данные, то всё что делалось с этой переменной внутри обработчика, забудется.
Поэтому контроллеру надо напрямую указать - где хранить переменную. Или отключить ему возможность поумничать.
"The compiler will automatically save the affected registers when calling the interrupt functions and restore them back on exit." Это из хелпа к CV.
|
|
|
|
30.01.2014, 20:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.08.2008
Адрес: Ярославль
Сообщений: 1,504
Сказал спасибо: 115
Сказали Спасибо 1,314 раз(а) в 548 сообщении(ях)
|
Re: CodeVisionAVR 2.60
Время контроллера он может расходовать как хочет, мне пофигу. Мне моё собственное время дороже. Мне нравится эта среда в первую очередь наличием готовых библиотек и автоматической генерацией кода. Естественно, если бы я был профессиональным программистом, я бы озаботился написанием своих собственных библиотек, а куски кода таскал из старых проектов. Но я всего лишь инженер-конструктор, надобность запрограммировать контроллер у меня возникает не чаще раза в год. Нафига мне эти головные боли? Тем более, что ещё ни разу не приходилось писать приложений, настолько критичных к ресурсам, чтобы высчитывать каждый байт или такт.
Так что CV для таких как я - форева!
ЗЫ. Впрочем, было как-то раз - надо было очень быстро обрабатывать сигнал от инкрементального энкодера. Но я только ассемблерный листинг вручную слегка подправил в небольшом куске программы, а остальное оставил как есть.
И вообще, я промышленные контроллеры в основном программирую. На Step7, CoDeSys и пр.
Последний раз редактировалось olc0267; 30.01.2014 в 20:58.
|
|
|
|
30.01.2014, 20:48
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: CodeVisionAVR 2.60
Сообщение от olc0267
|
|
Если все такие умные, то вместо того, чтобы говном друг в друга плеваться, объяснили бы человеку,
|
Так наверное человеку не надо было лезть со своими советами если не понимает, а задать вопрос в песочнице .
Godzilla82, olc0267, я расцениваю Ваши посты как троллинг . Что будем делать ?
Мое предложение - перенести тему в соответствующий раздел ...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 30.01.2014 в 20:51.
|
|
|
|
30.01.2014, 20:52
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
|
Re: CodeVisionAVR 2.60
Сообщение от olc0267
|
А сыр-бор разгорелся из-за этого
https://kazus.run/forums/showpost.ph...8&postcount=30
Если все такие умные, то вместо того, чтобы говном друг в друга плеваться, объяснили бы человеку, что если глобальная переменная используется в обработчике прерывания, она не должна размещаться в регистре.
|
Приехали.
В том-то и дело, что в CV не важно, где она расположена.
А ошибка конкретно в 30 посте - это у него нет вечного цикла. Там при старте main() 1 раз делается проверка на текущий режим, и всё. Выходим из main().
|
|
|
|
30.01.2014, 21:49
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: CodeVisionAVR 2.60
Сообщение от olc0267
|
|
Время контроллера он может расходовать как хочет, мне пофигу.
|
А прочитать внимательнее не пробовали? 
Там цикл for(...i...) от 0 до 15, был выполнен один раз (для i=0). Если вам это по фигу, то зачем тогда вообще что-то писать? Контроллер и без указаний найдёт чем заняться.
_______________
PS
Сообщение от olc0267
|
|
Мне нравится эта среда в первую очередь наличием готовых библиотек и автоматической генерацией кода.
|
По поводу библиотек и генератора кода - вы просто не понимаете о чём говорите, поскольку не пробовали ничего, кроме этой кислятины.
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 30.01.2014 в 21:55.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:19.
|
|