Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Глюк UART
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Rash
Всем здрасте, что за глюк, использую ATMeha162, код из даташита. Или я чё то не понял
Код
 UBRR1H = (unsigned char)(uiBaud>>8);
 UBRR1L = (unsigned char)uiBaud;

работает, а
Код
UCSR1B = (1<<RXEN1)|(1<<TXEN1);

пишет
Код
Error[Pe020]: identifier "RXEN1" is undefined
KRS
А вы поставили галочку в Enable bits defenition in I/O include files ?
Rash
Цитата(KRS @ Oct 14 2005, 17:10)
А вы поставили галочку в Enable bits defenition in I/O include files ?
*


незнаю а где это надо ставить и что ещё что бы всё работало как надо. Я начинающий по IAR.
KRS
Цитата(Rash @ Oct 14 2005, 17:18)
Цитата(KRS @ Oct 14 2005, 17:10)
А вы поставили галочку в Enable bits defenition in I/O include files ?
*


незнаю а где это надо ставить и что ещё что бы всё работало как надо. Я начинающий по IAR.
*



В опциях
категория General
вкладка Libriary configuration
Rash
Цитата(KRS @ Oct 14 2005, 17:21)
Цитата(Rash @ Oct 14 2005, 17:18)
Цитата(KRS @ Oct 14 2005, 17:10)
А вы поставили галочку в Enable bits defenition in I/O include files ?
*


незнаю а где это надо ставить и что ещё что бы всё работало как надо. Я начинающий по IAR.
*



В опциях
категория General
вкладка Libriary configuration
*



У меня IAR 4.11а, это всё верно только вкладка System, ну е моё и разработчики все нужные вещи поотключали, не по людски.
Rash
После этого выдаёт ошибку

Код
Building configuration: PostN - Release
Updating build tree...
Uart.c
Linking
Error[e16]: Segment INTVEC (size: 0x50 align: 0x1) is too long for segment definition. At least 0x20 more bytes needed.  
The problem occurred while processing the segment placement command "-Z(CODE)INTVEC=0-2F", where at the  
moment of placement the available memory ranges were "CODE:0-2f"
  Reserved ranges relevant to this placement:
  CODE:0-2f            INTVEC

прерывания описаны так:
Код
#pragma vector = USART0_RXC_vect
__interrupt void USART0_RXC(void)
{
....;
}
BlackJack
Модель памяти сделай Small а не Tiny, там же -в сетапе.
Rash
Цитата(BlackJack @ Oct 14 2005, 19:54)
Модель памяти сделай Small а не Tiny, там же -в сетапе.
*


Изменил, всё равно

Код
Changed settings forces a full rebuild...
Rebuilding configuration: PostN - Release
Updating build tree...

14 file(s) deleted.
Updating build tree...
Uart.c
HCI_Command.c
PostN.c
Timer.c
Linking
Error[e16]: Segment INTVEC (size: 0x50 align: 0x1) is too long for segment definition. At least 0x20 more bytes needed.  
The problem occurred while processing the segment placement command "-Z(CODE)INTVEC=0-2F", where at the  
moment of placement the available memory ranges were "CODE:0-2f"
  Reserved ranges relevant to this placement:
  CODE:0-2f            INTVEC

Total number of errors: 1
Total number of warnings: 0

может надо какой то #include <...> подключить или ещё что нибудь
NickB
Цитата(Rash @ Oct 19 2005, 10:00)
Цитата(BlackJack @ Oct 14 2005, 19:54)
Модель памяти сделай Small а не Tiny, там же -в сетапе.
*


Linking
Error[e16]: Segment INTVEC (size: 0x50 align: 0x1) is too long for segment definition. At least 0x20 more bytes needed.  
The problem occurred while processing the segment placement command "-Z(CODE)INTVEC=0-2F", where at the  
moment of placement the available memory ranges were "CODE:0-2f"
  Reserved ranges relevant to this placement:
  CODE:0-2f            INTVEC

Total number of errors: 1
Total number of warnings: 0
[/code]
может надо какой то #include <...> подключить или ещё что нибудь
*



Надобно подключить соотв .h файл - #include <iom162>
Выбрать в настройках General тот же файл
Проверить правильно ли подкл .xcl файл в опциях линкера
Rash
Цитата(BVU @ Oct 19 2005, 10:27)
Rash,
что бы не заниматься подобными 'глупостями' (че-то работает али нет...) ИЗУЧИТЕ ЯЗЫК ПРОГРАММИРОВАНИЯ 'С'!!!
Вам помоемому это где-то уже на форуме советовали...  Это одно из начальных требований для начинающего программировать.  Нельзя ничего сделать стоющего не зная предмета!  Если нуждаетесь в литературе, на форуме так же имеються много тем изобилующих ссылками.
*


Совет конечно дельный, спору нет. Только причём тут Си и эта ошибка, а изуть его можно и год и два да всего не изучишь.
Rash
Надобно подключить соотв .h файл - #include <iom162>
Выбрать в настройках General тот же файл
Проверить правильно ли подкл .xcl файл в опциях линкера
*

[/quote]



Код
#include <iom162>

Подключил

Цитата
Выбрать в настройках General тот же файл
Проверить правильно ли подкл .xcl файл в опциях линкера

как это сделать
beer_warrior
To BVU зря вы так, здесь проблемы не в языке, а в реализации
конкретной среды разработки. Я далеко не новичок, но при переходе с gcc на iar тоже имел немало сексу :-(

To Rush: подключение *.xcl на вкладке XLINK/include,
выбираете между стандартным скриптом и собственным.

Настоятельно рекомендуеться к прочтению XLINK-*.pdf.
Будут вопросы - пишите.
Rash
BVU. Здрав, будь боярин. Разберёмся и так ещё не таким лосям рога обламывали как IAR или С. Просто есть люди, которые помогают, какой бы ни был глупый вопрос, все когда-то начинали, а есть которые знают или не знают, но всё, что скажут, читай документацию и т.д.
beer_warrior
Вообще-то
Linking
Error[e16]:
предполагает, что компиляция проехала нормально и соответствующие макросы были распознаны.
Окромя того, модели памяти, описания прерываний, определения битов и есть то что лежит за пределами стандартного K&R и разниться даже между компиляторами для одной платформы.

Кроме того вы видели книги где внятно излагаються (с объяснением что к чему) фокусы с прерываниями, setjump/longjump, линковкой,
библиотекарями, написание make-файлов итп
Имхо сие постигаеться только на собственном опыте и на советах коллег.
Если вы знаете такую книгу - дайте ссылку с удовольствием почитаю.
:-)
Хорошего настроения!
Rash
Дело было не в С, а в настройках проекта дружище BVU, а по С я конечно почитаю "совет дельный был" не без того, программить, то надо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.