Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
15.03.2008, 04:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от retcom
|
avr123-nm-ru, Не парся.
|
Не буду !
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
26.03.2008, 09:33
|
|
Прохожий
Регистрация: 15.11.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
помогите плз советом. )))
нужно делать паузы микросекундами в довольно широком диапазоне от 5 до 30000 микросекунд.
функция паузы delay_us не воспринимает переменные почемуто
например если функция delay_ms спокойно работает при такой записи:
int pauza=500;
delay_ms(pauza);
то при попытке записать
delay_us(pauza);
CVAVR ругаеццо: must be constant expression...
|
|
|
|
26.03.2008, 13:41
|
|
Гражданин KAZUS.RU
Регистрация: 24.06.2005
Сообщений: 535
Сказал спасибо: 262
Сказали Спасибо 216 раз(а) в 118 сообщении(ях)
|
Я так понял, вы работаете в COdeVision.
функция delay_ms() может работать с переменными, а delay_us() нет. Ее аргументом может быть только число.
|
|
|
|
26.03.2008, 13:42
|
|
Вид на жительство
Регистрация: 22.06.2006
Адрес: Украина
Сообщений: 308
Сказал спасибо: 19
Сказали Спасибо 32 раз(а) в 24 сообщении(ях)
|
Из хелпа CVAVR
Цитата:
|
The functions are:
void delay_us(unsigned int n)
generates a delay of n mseconds. n must be a constant expression.
|
|
|
|
|
26.03.2008, 15:51
|
|
Прохожий
Регистрация: 15.11.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Ясно спасибо за разъяснения ))) ну а вообще есть какая либо адекватная замена или кусок кода (функция), которая заменит функцию delay_us() и будет работать с переменными? оченно надо...
|
|
|
|
26.03.2008, 18:46
|
|
Гражданин KAZUS.RU
Регистрация: 24.06.2005
Сообщений: 535
Сказал спасибо: 262
Сказали Спасибо 216 раз(а) в 118 сообщении(ях)
|
Наверно можно сделать следующим образом. В функцию delay_us() поместить численное значение, определяющее кратность, например 10 мкс и поместить его в цикл.
Например:
while(N ‹ 50)
{
delay_us(10);
N++;
}
Таким образом задержка 10мкс будет повторена 50 раз. Вместо 50 можно подставить переменную. Но данная реализация, думаю будет неточной. На все шаги этого кода будет затраченно определенное время. Кроме того, результат будет зависеть от остальной программы и от прерываний.
Может быть можно более точно реализовать на ассемблере, но тут я вам не помощник, с ним я не знаком.
|
|
|
|
27.03.2008, 08:15
|
|
Прохожий
Регистрация: 15.11.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
С асмой я тоже не знаком пока, с горем пополам за месяц на Си более или менее начал кодить.
Тогда другой момент, где нибудь у кого нибудь есть инфа сколько тактов процессора затрачивается на выполнение различных операций применительно к языку С. например вызов функции 1 такт, увеличение значения переменной 1 такт, сравнение полученного значения и т.д... Сорри если не ясно выразился. Утро голова еще не совсем проснулась )))
|
|
|
|
27.03.2008, 08:33
|
|
Гражданин KAZUS.RU
Регистрация: 24.06.2005
Сообщений: 535
Сказал спасибо: 262
Сказали Спасибо 216 раз(а) в 118 сообщении(ях)
|
Думаю, что у различных компиляторов результат на выполнение того или иного участка программы будет разным. Просмотреть пошаговое выполнение и считать такты можно в AVRStudio. А расчитать такты, наверно можно только в ассемблере.
|
|
|
|
06.04.2008, 20:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
CodeVisionAVR v1.25.9 с лекарством (2218 KB)
h тт p://rs208.rapid
добавить share.com/files/98530938/cvavr.ЗИП
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
06.04.2008, 23:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Доброго времени суток народ.
Подскажите кто знает в протеусе есть семисегментные индикаторы, но они без восьмого сегмента точки. Есть ли модели смисегментных индикаторов с точкой?
Предположим даже без точки, как узнать какому выводу соответствует какой сегмент?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:04.
|
|