Proteus, KiCAD и другие ECAD Разработчик так или иначе сталкивается с системами автоматизированного проектирования. Данный раздел - по САПР. |
26.02.2007, 16:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,593
Сказал спасибо: 706
Сказали Спасибо 4,353 раз(а) в 1,996 сообщении(ях)
|
GCC AVR не работает printf("Hello word")
и puts тоже не работает, т.е. ничего не выводится.
Ошибок не генерится, uart настроен правильно(проверенно на других функциях).
Кто нибудь может привести пример работающенго кода в avrstudio для mega169?
|
|
|
|
26.02.2007, 18:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
а из примера к компидятору смотрели ?
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
26.02.2007, 19:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,593
Сказал спасибо: 706
Сказали Спасибо 4,353 раз(а) в 1,996 сообщении(ях)
|
Сообщение от avr123-nm-ru
|
а из примера к компидятору смотрели ?
|
Спасибо посмотрел. Я чувствовал что нужно как-то перенаправить вывод. Видимо это делается в:
FILE uart_str = FDEV_SETUP_STREAM(uart_putchar, uart_getchar, _FDEV_SETUP_RW);
перетащил в свой код вместе со всеми инклудами (кроме LCD есн-но).
Теперь Студия дает ошибку:
Demonstrator.o .data+0x : undefined reference to `uart_putchar'
Demonstrator.o .data+0xa): undefined reference to `uart_getchar'
и пытается вывести строку с ошибкой в объектном файле О как!
Че делать? ХЗ.
|
|
|
|
26.02.2007, 19:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,593
Сказал спасибо: 706
Сказали Спасибо 4,353 раз(а) в 1,996 сообщении(ях)
|
В протеусе Stdiodemo заработала на меге32, но только СОМ порт. Выясняю...
|
|
|
|
27.02.2007, 14:18
|
|
Прохожий
Регистрация: 06.01.2007
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Для любых ф-ций которые работают с переменным количеством параметров и формируют длинные последовательности байт используются ф-ции malloc, free
Для того чтобы ваши printf работали ... нужно включить кучу (heap)
|
|
|
|
28.02.2007, 12:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,593
Сказал спасибо: 706
Сказали Спасибо 4,353 раз(а) в 1,996 сообщении(ях)
|
Я заметил, что почти никто не использует printf, а все пишут свои функции попроще типа send_string итп.
|
|
|
|
28.02.2007, 14:20
|
|
Прохожий
Регистрация: 06.01.2007
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Естественно .. т.к. эти функции достаточно прожорливые
|
|
|
|
03.03.2007, 14:27
|
|
Прохожий
Регистрация: 02.11.2006
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Если ты используешь пакет WinAvr, то в директории
Samples или Examples есть исходники в которых используется uart
|
|
|
|
03.03.2007, 14:33
|
|
Прохожий
Регистрация: 02.11.2006
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Если ты используешь пакет WinAvr, то в директории
Samples или Examples есть исходники, в которых используется функция printf с выводом на uart
По поводу uart_putchar, uart_getchar, то их надо самому описать, в которых происходит передача и прием, соответственно
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:27.
|
|