| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
PicBasic. С чем связано!?
11.02.2010, 21:45
|
|
|
Частый гость
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
PicBasic. С чем связано!?
Всем доброго времени суток!
Пишу простую программу типа:
main:
IF a=0 THEN GOSUB P1
IF...
IF...
IF...
GOTO main
P1:
текст
RETURN
Р2:
RETURN
и т.д.
END
Ситуация вот в чем...
1. Пока подпрограмма P1 была написана ОДНА и программа "вертелась" только в Р1, скорость выполнения всей программы была удовлетворительной. В этом случае подпрограммы для остальных IF просто не написаны и возвращают все в начало программы.
2.С ростом количества Р (подпрограмм, полностью написанных) естественно растет размер всей программы, НО при повторении выполнения программы ТОЛЬКО по Р1, скорость выполнения всей программы заметно снижается.
Вопрос: Если "зациклить" программу в двух строках, например:
Main:
IF a=0 THEN Main
...
END
а остальную память ПИКа забить всяким "мусором" без оращения к нему, производительность падает? Или я что-то перемудрил!?
|
|
|
|
11.02.2010, 22:51
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: PicBasic. С чем связано!?
Сообщение от Huuligan
|
|
а остальную память ПИКа забить всяким "мусором" без оращения к нему, производительность падает? Или я что-то перемудрил!?
|
Производительность от содержимого неиспользуемой памяти не зависит.
|
|
|
|
11.02.2010, 23:09
|
|
|
Частый гость
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: PicBasic. С чем связано!?
Сообщение от kison
|
|
Производительность от содержимого неиспользуемой памяти не зависит.
|
Теоретически я это тоже понимаю, только вот замыкаю основную часть на одну подпрограмму и она по циклу гоняет, а стоить мне дописать еще несколько подпрограмм к которым НЕТ обращения, производительность падает  Перепроверил все несколько раз - парадокс...
|
|
|
|
11.02.2010, 23:23
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: PicBasic. С чем связано!?
Сначала : какой PIC ?
У среднего звена органиченый стек .
__________________
Осторожно , злой кот
|
|
|
|
11.02.2010, 23:55
|
|
|
Частый гость
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: PicBasic. С чем связано!?
PIC16F876A
Еще возник вопрос (в описании не нашел)
1. В начале программы не инициализирую протС.
2. Далее в прогамме пишу IF PortC.6=0 THEN выполняю действие (и оно выполняется)
Вопрос: Таким образом автоматом указанный вывод становится входом? Верно?
Последний раз редактировалось Huuligan; 12.02.2010 в 00:45.
|
|
|
|
12.02.2010, 00:42
|
|
|
Гражданин KAZUS.RUN
Регистрация: 08.07.2006
Сообщений: 883
Сказал спасибо: 119
Сказали Спасибо 1,108 раз(а) в 175 сообщении(ях)
|
Re: PicBasic. С чем связано!?
Замедление работы программы скорее всего связано с тем, что в Бэйсик-компиляторе перестает работать оптимизатор должным образом при появлении других подпрограмм.
Надо смотреть какой ассемблерный код генерится в первом и во втором случаях.
|
|
|
|
12.02.2010, 01:57
|
|
|
Частый гость
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: PicBasic. С чем связано!?
Сообщение от alexgap
|
|
в Бэйсик-компиляторе перестает работать оптимизатор должным образом
|
А компилятор Бейсик и БейсикПРО разные?
|
|
|
|
12.02.2010, 20:36
|
|
|
Частый гость
Регистрация: 30.01.2007
Сообщений: 28
Сказал спасибо: 72
Сказали Спасибо 71 раз(а) в 21 сообщении(ях)
|
Re: PicBasic. С чем связано!?
Huuligan, зайдите на http://www.picbasic.ru/ - чем сможем, тем поможем.
dosikus, не сочтите за рекламу сайта.
|
|
|
|
12.02.2010, 21:36
|
|
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: PicBasic. С чем связано!?
Сообщение от Huuligan
|
Пишу простую программу типа:
main:
IF a=0 THEN GOSUB P1
IF...
IF...
IF...
GOTO main
P1:
текст
RETURN
Р2:
RETURN
и т.д.
END
|
кривовато как то
почему бы не использовать SELECT:
SELECT CASE var
CASE expr1 {, expr...}
statements
CASE expr2 {, expr...}
statements
{CASE ELSE statements}
END SELECT
|
|
|
|
12.02.2010, 22:43
|
|
|
Частый гость
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: PicBasic. С чем связано!?
Сообщение от vsky
|
|
почему бы не использовать SELECT
|
Надо попробовать...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:54.
|
|