Proteus, KiCAD и другие ECAD Разработчик так или иначе сталкивается с системами автоматизированного проектирования. Данный раздел - по САПР. |
17.07.2007, 10:45
|
|
Прописка
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Переход на подпрограмму в CodeVisionAVR
Подскажите команду перехода на подпрограмму и выход из неё.
|
|
|
|
17.07.2007, 11:05
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Чтобы вызвать подпрограмму, достаточно написать ее имя, а в скобочках параметры (если имеются). Выходит из подпрограммы автоматически.
например:
Код:
|
void test (unsigned char i)
{
// тело подпрограммы
}
test(5); // вызов подпрограммы |
|
|
|
|
17.07.2007, 11:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Переход на подпрограмму в CodeVisionAVR
Сообщение от Andrewg
|
Подскажите команду перехода на подпрограмму и выход из неё.
|
В Си это называется функция и вызов функции.
Посмотри avr123.nm.ru/05.htm
и советую !!!
скачай шаблон быстрого старта для CVAVR + VMLAB.
http://www.roboforum.ru/viewtopic.htm?t=1070
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
17.07.2007, 11:32
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Вот учебникм по Си
Прикрепленный файл: 2819388.rar
|
|
|
|
17.07.2007, 13:23
|
|
Прописка
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Спасибо за ссылки, если можно коротенький пример.
на avr123.nm.ru/05.htm про вызов подпрограмм ничего нет.
Дайте простой пример вызова подпрограммы.
К примеру для X51
Вызов подпрограммы
ACALL TEST
****Подпрограмма
TEST: 'выполняемый код'
RET ; Выход из подпрограммы.
Такой же пример нужен для AVR в CodeVision
в каком месте размещаются подпрограммы?
Простой вызов подпрограммы без параметров.
Напишите пару строк. Please!
|
|
|
|
17.07.2007, 13:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Не понимаю проблемы, видимо...
гдето в маин
dreb();
и перед main
void dreb(void)
{
test();
}
Если хотите разместить функцию в другом месте, не перед маин, а после, в заголовочном файле или сразу после определений объявите ее
void dreb();
|
|
|
|
17.07.2007, 13:59
|
|
Прописка
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Всё понял, спасибо! Вопрос снят.
|
|
|
|
17.07.2007, 14:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от Andrewg
|
на avr123.nm.ru/05.htm про вызов подпрограмм ничего нет.
|
А вот это не видно ???
5) описание функций - обработчиков прерываний
6) описание других функций используемых в программе
7) функция main ‹- это единственный обязательный пункт !
и далее описание каждого пункта с примером программы.
=======
Если не видно - сделайте шрифт покрупней или очки попробуйте подобрать.
Если видно - то врать перестаньте.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
17.07.2007, 14:43
|
|
Прописка
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от avr123-nm-ru
|
Сообщение от Andrewg
|
на avr123.nm.ru/05.htm про вызов подпрограмм ничего нет.
|
А вот это не видно ???
5) описание функций - обработчиков прерываний
6) описание других функций используемых в программе
7) функция main ‹- это единственный обязательный пункт !
и далее описание каждого пункта с примером программы.
=======
Если не видно - сделайте шрифт покрупней или очки попробуйте подобрать.
Если видно - то врать перестаньте.
|
main(){
... какой то код программы ...
вызов функции_1; //программа перейдет в функцию_1
строка программы; // будет выполнятся после
// возврата из функции_1
... какой то код программы ...
}
Цитата из курса.
Если вы считаете такой ответ полностью отвечающий на вопрос Вы ошибаетесь.
От Вашего курса есть явная польза при переходе от одной платформы на другую, когда уже сложен стиль написания программ. Спасибо.
А для начинающих, кто начинает с нуля, Ваш курс может привить неправильные навыки написания программ.
Это моё мнение.
|
|
|
|
17.07.2007, 15:51
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Раньше ваше мнение было - "ТАМ ЭТОГО НЕТ"
теперь "ТАМ НЕ ПРАВИЛЬНО УЧАТ"
==========
А этого НЕ ВИДНО ????
Цитата:
|
п.6 функции используемые в программе
|
===========
А вот ЭТО КРУПНЫМ ШРИФТОМ тоже НЕ ВИДНО ???
Цитата:
|
Как использовать описанное выше вы можете
посмотреть в примерах к компилятору !
Примеры в папке :
C:CVAVREXAMPLES
Открывайте файлы .с и разбирайте текст программ -
что делает каждая строчка!
Это великолепный способ само-
обучения программированию !
|
Или у вас в компиляторе такой папки нет ???
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:29.
|
|