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

 
 
> Есть вопрос, нужен ответ
mpavela2011
сообщение Apr 25 2011, 12:36
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 7-12-10
Пользователь №: 61 453



В одном файле есть вот это

?XD?f91x SEGMENT XDATA INPAGE ; define a SEGMENT of class XDATA
RSEG ?XD?f91x
PUBLIC U1_RAM,START_U1,TEST_U1
U1_RAM: DS 1
START_U1: DS 1 ;
T1U: DS 2 ;
T_U1: DS ;
IRTHU1: DS 2 ;
TEST_U1: DS 1

В другом файле вот это


$NOLIST
$INCLUDE(C8051F120.INC) ;
$INCLUDE(Conf_Prot.INC) ;
$LIST

PUBLIC FUNC
EXTRN DATA(AMPL1H,AMPL2H,AMPL3H,AMPL0H,I2)
EXTRN DATA(VOLTABH,VOLTACH,VOLTBCH,VOLT0H,U2)
EXTRN BIT(CONS_TIME,TST_SRAB)

EXTRN XDATA(INP_RAM_SPA,IN_SGC,LSH_RAM,LOGIC_RAM,U2_M_RAM,SGF6,U1_RAM)
;EXTRN XDATA (SGF6,U1_RAM)
EXTRN IDATA(Imax,Imin,INP_VAL)
;if F_FREQ ;-MPA
EXTRN DATA(FREQ)


Почему такая ошибка ????

*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: U1_RAM
MODULE: A_FUNC.OBJ (A_FUNC)

Ведь Переменная U1_RAM в одном файле обьявлена как PUBLIC а в другом как EXTRN - все должно быть нормально


Пишу КОД для силикиносвского процессора С8051F120 в среде Silabs IDE

Сообщение отредактировал mpavela2011 - Apr 26 2011, 05:35
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
mpavela2011
сообщение Apr 26 2011, 06:10
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 7-12-10
Пользователь №: 61 453



Товарищи программисты, неужели мне ничем нельзя помочь ????

компилятор ругается на второй файл, где написано
EXTRN XDATA(INP_RAM_SPA,IN_SGC,LSH_RAM,LOGIC_RAM,U2_M_RAM,SGF6,U1_RAM)
Go to the top of the page
 
+Quote Post
XVR
сообщение Apr 26 2011, 07:23
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



А вы объектник от первого файла на линковку подать не забыли?
Go to the top of the page
 
+Quote Post
mpavela2011
сообщение Apr 26 2011, 07:40
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 7-12-10
Пользователь №: 61 453



if OVER_U2
EXTRN CODE(TRIP_U2_M)
EXTRN XDATA(U2_M_RAM)
CLR F1
LCALL TRIP_U2_M ;
;endif1

EXTRN XDATA (U2_M_RAM) ;
EXTRN XDATA (SGF6,U1_RAM) ;

MOV DPTR,#U1_RAM
MOVX A,@DPTR
;CLR ACC.1 ;
MOV C,ACC.1 ;
MOV DPTR,#SGF6
MOVX A,@DPTR
;CLR ACC.4 ;
ANL C,ACC.4 ;
MOV DPTR,#U2_M_RAM
MOVX A,@DPTR
ORL C,ACC.1 ;
MOV DPTR,#IN_SGC+1 ;
MOVX A,@DPTR
ORL C,ACC.5 ;
CPL C
MOV F1,C
;else
; CPL F1 ;
endif2


так все нормально, но мне нужно не так, мне нужно чтобы endif2 был закоментирован, а endif1 раскоменитрован - так появляются предупреждения !

XVR, первый файл на линковку подается - все нором проверил.

акцентирую внимание что компилятор ругается на переменную U1_RAM

Сообщение отредактировал mpavela2011 - Apr 26 2011, 07:59
Go to the top of the page
 
+Quote Post
XVR
сообщение Apr 26 2011, 07:50
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



С Silabs не работал, в том, что приведено криминала не вижу, увы sad.gif
Go to the top of the page
 
+Quote Post
mpavela2011
сообщение Apr 26 2011, 08:01
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 7-12-10
Пользователь №: 61 453



если в первом файле

XD?f91x SEGMENT XDATA INPAGE ; define a SEGMENT of class XDATA
RSEG ?XD?f91x
PUBLIC U1_RAM,START_U1,TEST_U1

может быть во втором файле после EXTRN надо писать другой тип - какой ?

Сообщение отредактировал mpavela2011 - Apr 26 2011, 09:08
Go to the top of the page
 
+Quote Post
Smoky
сообщение Jun 25 2011, 15:03
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 7-05-10
Из: Оренбург
Пользователь №: 57 135



Уважаемые коллеги, есть ли ограничение на количество параметров передаваемых в функцию?


--------------------
Лень, оттвори дверь, сгоришь - а хоть и сгорю, но не оттворю.
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 25 2011, 18:37
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(дымок @ Jun 25 2011, 19:03) *
Уважаемые коллеги, есть ли ограничение на количество параметров передаваемых в функцию?
Это вы о чем? Какая функция? Какие параметры?

Go to the top of the page
 
+Quote Post
Smoky
сообщение Jun 26 2011, 11:25
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 7-05-10
Из: Оренбург
Пользователь №: 57 135



Цитата(XVR @ Jun 26 2011, 00:37) *
Это вы о чем? Какая функция? Какие параметры?


Прошу прощения если я не внятно задал вопрос но в учебнике описано такое правило описания функций:

тип_возвращаемого_значения имя_функции(список_параметров,...,...)

есть ли ограничение в количестве аргументов в списке параметров?


--------------------
Лень, оттвори дверь, сгоришь - а хоть и сгорю, но не оттворю.
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 26 2011, 15:51
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(дымок @ Jun 26 2011, 15:25) *
тип_возвращаемого_значения имя_функции(список_параметров,...,...)
есть ли ограничение в количестве аргументов в списке параметров?

Стандарт языка С количество параметров не ограничивает. Конкретные реализации компиляторов на конкретные семейства МК могут иметь какие то ограничения (лично мне таковые неизвестны)
Go to the top of the page
 
+Quote Post
Smoky
сообщение Jun 26 2011, 16:35
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 7-05-10
Из: Оренбург
Пользователь №: 57 135



Цитата(XVR @ Jun 26 2011, 21:51) *
Стандарт языка С количество параметров не ограничивает.


Спасибо, что развеяли мои сомнения.


--------------------
Лень, оттвори дверь, сгоришь - а хоть и сгорю, но не оттворю.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 26 2011, 17:31
Сообщение #12


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Может не совсем в тему...
Если возникает такой вопрос, смею предположить, что у Вас недоработочка архитектуры программы.
Вы о структурах слыхали?sm.gif Объявляете структуру с любым кол-вом полей и передаёте в функцию указатель на неё.
На мой взгляд так симпатичнее и эффективнее.
Удачи!


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 11:46
Рейтинг@Mail.ru


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