реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Помогите по Си, Не могу понять undefined external
aspID
сообщение May 20 2012, 19:34
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



То ли настолько позабыл Си, то ли...

В общем, не могу понять, почему лезет undefined external:

Содержимое main.c
CODE
#define ENABLE_BIT_DEFINITIONS
#define F_CPU 4000UL //36864UL !!!

#include <intrinsics.h>
#include <ioavr.h>
#include <stdio.h>

#include "USART.h"

int main ( void )
{
__disable_interrupt ();

USART_init ( 9600U );

...


Содержимое USART.h
CODE
#include <ioavr.h>
void USART_Init( unsigned int baud );
...


Содержимое USART.c
CODE
#define ENABLE_BIT_DEFINITIONS

#include "USART.h"

void USART_Init ( unsigned int baud )
{
/* Set baud rate */
UBRRH = (unsigned char)(baud>>8);
UBRRL = (unsigned char)baud;
/* Enable receiver and transmitter */
UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 2stop bit */
UCSRC = (1<<USBS)|(3<<UCSZ0);
}

...


Go to the top of the page
 
+Quote Post
scifi
сообщение May 20 2012, 20:24
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Самое интересное забыли написать: undefined external <имя функции или переменной>.
Go to the top of the page
 
+Quote Post
aspID
сообщение May 21 2012, 00:42
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



Warning[Pe223]: function "USART_init" declared implicitly trunk\main.c 22
Error[e46]: Undefined external "USART_init" referred in main ( trunk\Debug\Obj\main.r90 )
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 21 2012, 01:23
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(scifi @ May 20 2012, 23:24) *
Самое интересное забыли написать: undefined external <имя функции или переменной>.


Лучше проект выложить - случай похоже типичный, но не помню какой.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение May 21 2012, 02:23
Сообщение #5


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(aspID @ May 21 2012, 06:42) *
Warning[Pe223]: function "USART_init" declared implicitly trunk\main.c 22
Error[e46]: Undefined external "USART_init" referred in main ( trunk\Debug\Obj\main.r90 )

Дык, правильно, у вас же нет функции USART_init, у вас есть USART_Init sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Bear_ku
сообщение May 21 2012, 02:23
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 154
Регистрация: 9-09-11
Пользователь №: 67 076



В main USART_init ().
В *.h файле void USART_Init().
Go to the top of the page
 
+Quote Post
scifi
сообщение May 21 2012, 05:54
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Семён Семёныч!..
Go to the top of the page
 
+Quote Post
aspID
сообщение May 21 2012, 08:52
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



Да, действительно... blink.gif на предмет раскладки озадачивался, а по регистру как-то в глаза даже не бросилось. Спасибо большое!!!!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016