Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 20.03.2010, 17:53  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Как в CVAVR вывести 3х-значное число на порты?

Сообщение от kison Посмотреть сообщение
Вот блин - я ее среди комментариев не заметил
Но пробовать собирать снова не буду - меньше 200 тактов все равно не получу.
Выложите для меня ПЛИЗ настроеный проект GCC ... пустой, допустим с main.c и main.h. Настроеный для компиляции... А сам я подключу в main.c свой файл и скомпилирую.
Я не создавал никогда для GCC. Не в курсе чего там и как настраивать...
Реклама:
picavr вне форума  
Непрочитано 20.03.2010, 18:17  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Как в CVAVR вывести 3х-значное число на порты?

Сообщение от picavr Посмотреть сообщение
Не в курсе чего там и как настраивать...
Там ничего не надо настаивать. Это не ИАР.
Единственное что нужно - установить частоту ( и то необязательно если нет программных задержек) и тип кристалла. Все делается прямо в студии. А - главное оптимизацию не забыть включить, наример Os
Миниатюры:
Нажмите на изображение для увеличения
Название: studio.GIF
Просмотров: 209
Размер:	31.6 Кб
ID:	5982  
kison вне форума  
Непрочитано 20.03.2010, 21:32  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Как в CVAVR вывести 3х-значное число на порты?

Код:
unsigned int Bin2BCD(unsigned int value, char *Res)
{
char *n = Res;

while (value›0)
 {
 *Res++ = value % 10;
 value/=10;
 }

return (unsigned int)(Res-n);
}
Функция записывает в буфер десятичное число, начиная с младшего знака и возвращает количество преобразованных цифр.

ADS1.2 - 16 команд, 88 тактов/5 знаков (апп. умножение+сдвиги)
MPLAB C30 - 15 команд, 136 тактов/5 знаков (апп. деление)

З.Ы. Интересны результаты для других компиляторов
AJScorp вне форума  
Непрочитано 21.03.2010, 00:32  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Как в CVAVR вывести 3х-значное число на порты?

KEIL ARM @ LPC1768 - 16 команд, 99 тактов/5 знаков
MPLAB C32 - 16 команд, 68 тактов/5 знаков

Последний раз редактировалось st_1; 21.03.2010 в 00:50.
st_1 вне форума  
Сказали "Спасибо" st_1
AJScorp (21.03.2010)
Непрочитано 21.03.2010, 19:59  
code-by
Прописка
 
Регистрация: 04.08.2006
Сообщений: 181
Сказал спасибо: 1
Сказали Спасибо 31 раз(а) в 31 сообщении(ях)
code-by на пути к лучшему
По умолчанию Re: Как в CVAVR вывести 3х-значное число на порты?

Сообщение от AJScorp Посмотреть сообщение
Функция записывает в буфер десятичное число, начиная с младшего знака и возвращает количество преобразованных цифр.
можно указать пример вызова функции с переменными, т.к. у меня в CodeVision при передачи в функцию числа 534 на входе value=2...
code-by вне форума  
Непрочитано 22.03.2010, 10:34  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Как в CVAVR вывести 3х-значное число на порты?

Сообщение от code-by Посмотреть сообщение
можно указать пример вызова функции с переменными
Например так:

Код:
char bf[10];
unsigned int DigCount;

unsigned int Bin2BCD(unsigned int value, char *Res)
{
char *n = Res;

while (value›0)
 {
 *Res++ = value % 10;
 value/=10;
 }

return (unsigned int)(Res-n);
}

int main()
{
DigCount = Bin2BCD(1234, bf);

}
К сожалению в CVAVR проверить не могу.

Последний раз редактировалось AJScorp; 09.12.2010 в 22:31.
AJScorp вне форума  
Непрочитано 23.03.2010, 23:23  
code-by
Прописка
 
Регистрация: 04.08.2006
Сообщений: 181
Сказал спасибо: 1
Сказали Спасибо 31 раз(а) в 31 сообщении(ях)
code-by на пути к лучшему
По умолчанию Re: Как в CVAVR вывести 3х-значное число на порты?

Спасибо, AJScorp
code-by вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Как внедрялась АСУ chermnv Отвлекитесь, эмбеддеры! 743 14.02.2010 23:11
[Решено] Третье Послание Человечеству lelkanet Отвлекитесь, эмбеддеры! 201 06.01.2010 00:33
как выйти с PROTEUS-а на порты? begun Микроконтроллеры, АЦП, память и т.д 5 28.10.2009 16:36
PICC как будет выглядеть код в CVAVR rv6yi Микроконтроллеры, АЦП, память и т.д 15 22.10.2009 23:22


Часовой пояс GMT +4, время: 09:38.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot