- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
исходник для i-7188EX + m-7045D
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 04 авг 2011, 08:18
- Имя: Роман
- Страна: Россия
- город/регион: Саха (Якутия)
исходник для i-7188EX + m-7045D
Здравствуйте!
Не буду описывать всю ситуацию, коротко один вопрос:
Есть программа MiniOS7 Studio, процессор ICP CON I-7188EX, дискретный модуль ICP CON M-7045D.
Как выглядит исходный текст, для написания программы, которая будит крутится в процессоре и управлять выходами модуля 7045?
Например: поочередно включать выходы модуля, с интервалом 1 сек.
Заранние Спасибо!!!!
Не буду описывать всю ситуацию, коротко один вопрос:
Есть программа MiniOS7 Studio, процессор ICP CON I-7188EX, дискретный модуль ICP CON M-7045D.
Как выглядит исходный текст, для написания программы, которая будит крутится в процессоре и управлять выходами модуля 7045?
Например: поочередно включать выходы модуля, с интервалом 1 сек.
Заранние Спасибо!!!!
-
- почётный участник форума
- Сообщения: 3974
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 230 раз
Re: исходник для i-7188EX + m-7045D
В смысле как будет выглядеть?
Выглядеть будет как программа:) Если не ошибаюсь, MiniOS7 Studio - это IDE к борландовским компилятору и линкеру.
Соответственно нужно просто писать программу на С, формирующая нужные пакеты (Modbus/DCON) и отправляющая их в модуль. Библиотеки для работы с протоколами у ICP были. Не знаю насчет русского, но на английском есть и их описание, устанавливалось вместе со всем софтом от контроллера. Где-то и у меня было.
Документация по модулю (описание обмена) здесь: http://www.icpdas.com/products/Remote_I ... 45-npn.htm
Руковоство программиста для контроллера - http://www.icpdas.com/products/PAC/i-71 ... htm#manual, первая сверху ссылка.
Там в конце есть и какие-то рыбы программ.
Конкретизируете вопрос - попробую ответить точнее
Выглядеть будет как программа:) Если не ошибаюсь, MiniOS7 Studio - это IDE к борландовским компилятору и линкеру.
Соответственно нужно просто писать программу на С, формирующая нужные пакеты (Modbus/DCON) и отправляющая их в модуль. Библиотеки для работы с протоколами у ICP были. Не знаю насчет русского, но на английском есть и их описание, устанавливалось вместе со всем софтом от контроллера. Где-то и у меня было.
Документация по модулю (описание обмена) здесь: http://www.icpdas.com/products/Remote_I ... 45-npn.htm
Руковоство программиста для контроллера - http://www.icpdas.com/products/PAC/i-71 ... htm#manual, первая сверху ссылка.
Там в конце есть и какие-то рыбы программ.
Конкретизируете вопрос - попробую ответить точнее
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 04 авг 2011, 08:18
- Имя: Роман
- Страна: Россия
- город/регион: Саха (Якутия)
Re: исходник для i-7188EX + m-7045D
Спасибо, Никита, что откликнулись.
Вы пишите конкретизировать свой вопрос, но я написал:
Например: поочередно включать выходы модуля, с интервалом 1 сек.
Я прошу Вас дать мне исходный текст для этого процессора, чтобы он выполнял выше приведенные действия.
Я не могу понять, как процессор общается с внешними модулями.
Даже можно просто привести пример программы, которая включит выход №1 на модуле DO1 и все.
Я надеюсь не сильно «напрягаю» Вас?
Спасибо!
PS с англ. яз. проблемы, переводчики лубуду пишут.
Вы пишите конкретизировать свой вопрос, но я написал:
Например: поочередно включать выходы модуля, с интервалом 1 сек.
Я прошу Вас дать мне исходный текст для этого процессора, чтобы он выполнял выше приведенные действия.
Я не могу понять, как процессор общается с внешними модулями.
Даже можно просто привести пример программы, которая включит выход №1 на модуле DO1 и все.
Я надеюсь не сильно «напрягаю» Вас?
Спасибо!
PS с англ. яз. проблемы, переводчики лубуду пишут.
-
- почётный участник форума
- Сообщения: 3974
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 230 раз
Re: исходник для i-7188EX + m-7045D
rexmoney, проблема в том, что у меня этих железок сейчас под рукой нет и свободно взять напрокат можно только с первого сентября в родной альма-матер. А лечить геморрой по телевизору в нашей стране умеет только Кашпировский :) Вечером (нашим, по Москве) покопаюсь, конечно, в архивах, может чего из живых программ осталось.
Вторая проблема - что именно с модулями серии М (с поддержкой модбаса) я на уровне написания программ не работал. Доводилось писать отдельно - обмен по DCON с модулями i7000 и по модбасу с данфоссовскими ECL-300.
Вкратце методика.
Протокол DCON
В порт, к которому подключен модуль надо отправить строку вида '#__00xx'. Вместо подчеркивания вставить двузначный шестнадцатеричный адрес в сети, который при конфигурировании прописан в модуле. Вторые два нуля неизменны и обозначают обращение к первым восьми каналам. Для старшего байта (каналы 8..15) 00 заменяется на 0A. Последние две цифры (xx) - шестнадцатеричный байт состояния каналов. (все включены 11111111b=0xFFh, все выключены - 0x00h, остальное - двоичная и шестнадцатеричная арифметика)
Т.е. для модуля с адресом 01 для включения первого канала в порт посылается строка "#010001", для выключения - "#010000". При работе из собственной программы в конце приведенных строк дописывается возврат каретки (0х0Dh). В принципе, при наличии прозрачного преобразователя USB/232<->485 и модуля настроенного на работу по DCON, (модуль изначально настроен на модбас) эти строки можно спокойно слать в порт гипертерминалом, там, если память не изменяет, строка просто завершается нажатием Enter.
Есть еще команды побитовой установки выходов, надо смотреть, пока лень, если надо - посмотрю, но принцип тот же.
Да, еще - в данном случае все без использования контрольной суммы - при настройке модуля надо либо отключить ее использование, либо дополнительно последним байтом ставить младший байт суммы всех символов строки, кроме возврата каретки.
Modbus RTU (настройка по умолчанию для M-7045)
Идея та же - посылка команд в модуль через com-порт , но Modbus-RTU менее экзотичен, думаю найдете описание фреймов сами. Не найдете или не поймете - пишите, расскажу. Актуальны 5-я и 15-я(0x0F) функции - одиночная и групповая запись выходов соответственно. Вроде (не уверен) в поставке библиотек от ICP были и функции формирования фреймов с подсчетом контрольной суммы. Нюанс - модбас более критичен к временам и паузам, нежели DCON, придется обратить на это внимание.
Живые примеры поищу, но пока ничего не обещаю. А вы определяйтесь с протоколом обмена. Лично я бы для самописных поделок предпочел перенастроить модуль на работу с DCON.
Вторая проблема - что именно с модулями серии М (с поддержкой модбаса) я на уровне написания программ не работал. Доводилось писать отдельно - обмен по DCON с модулями i7000 и по модбасу с данфоссовскими ECL-300.
Вкратце методика.
Протокол DCON
Перевод на русский: (кстати, в ветке рядом viewtopic.php?f=20&t=955&hilit=FTP+%D0% ... 1%82%D0%B0 давал ссылку на описание протокола от устройств ADAM-4000 на русском. Они похожи, можно посмотреть принципы формирования команд)#AA00(Data)
Description:
Sets the digital output value of the lower eight channels.
Syntax:
#AA00(Data)[CHKSUM](CR)
# Delimiter character
AA Address of the module to be set (00 to FF)
00 Command to set the digital output value of the
lower eight channels
(Data) A two-digit hexadecimal value, where bit 0
corresponds to DO0, bit 1 corresponds to DO1, etc.
When the bit is 1, it denotes that the digital output
channel is on, and 0 denotes that the digital output
channel is off.
В порт, к которому подключен модуль надо отправить строку вида '#__00xx'. Вместо подчеркивания вставить двузначный шестнадцатеричный адрес в сети, который при конфигурировании прописан в модуле. Вторые два нуля неизменны и обозначают обращение к первым восьми каналам. Для старшего байта (каналы 8..15) 00 заменяется на 0A. Последние две цифры (xx) - шестнадцатеричный байт состояния каналов. (все включены 11111111b=0xFFh, все выключены - 0x00h, остальное - двоичная и шестнадцатеричная арифметика)
Т.е. для модуля с адресом 01 для включения первого канала в порт посылается строка "#010001", для выключения - "#010000". При работе из собственной программы в конце приведенных строк дописывается возврат каретки (0х0Dh). В принципе, при наличии прозрачного преобразователя USB/232<->485 и модуля настроенного на работу по DCON, (модуль изначально настроен на модбас) эти строки можно спокойно слать в порт гипертерминалом, там, если память не изменяет, строка просто завершается нажатием Enter.
Есть еще команды побитовой установки выходов, надо смотреть, пока лень, если надо - посмотрю, но принцип тот же.
Да, еще - в данном случае все без использования контрольной суммы - при настройке модуля надо либо отключить ее использование, либо дополнительно последним байтом ставить младший байт суммы всех символов строки, кроме возврата каретки.
Modbus RTU (настройка по умолчанию для M-7045)
Идея та же - посылка команд в модуль через com-порт , но Modbus-RTU менее экзотичен, думаю найдете описание фреймов сами. Не найдете или не поймете - пишите, расскажу. Актуальны 5-я и 15-я(0x0F) функции - одиночная и групповая запись выходов соответственно. Вроде (не уверен) в поставке библиотек от ICP были и функции формирования фреймов с подсчетом контрольной суммы. Нюанс - модбас более критичен к временам и паузам, нежели DCON, придется обратить на это внимание.
Живые примеры поищу, но пока ничего не обещаю. А вы определяйтесь с протоколом обмена. Лично я бы для самописных поделок предпочел перенастроить модуль на работу с DCON.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 04 авг 2011, 08:18
- Имя: Роман
- Страна: Россия
- город/регион: Саха (Якутия)
Re: исходник для i-7188EX + m-7045D
Настроил модули на протокол DCON. Могу управлять ими через конвертер интерфейсов 232<-->485 командами через терминал. Но как эти команды применить в miniOS7 Studio.
Я же не могу написать:
for (i=0;i<10;i++)
{
#010001
#010000
}
Нашел программы, но они большие и на протоколе Modbus, не че не понял.
Я же не могу написать:
for (i=0;i<10;i++)
{
#010001
#010000
}
Нашел программы, но они большие и на протоколе Modbus, не че не понял.
-
- БАН
- Сообщения: 642
- Зарегистрирован: 03 июн 2010, 12:26
- Имя: Козин Александр Елисеевич
- Страна: Украина
- город/регион: Одесса
- Благодарил (а): 2 раза
- Поблагодарили: 6 раз
- Забанен: Бессрочно
Re: исходник для i-7188EX + m-7045D
rexmoney, Вряд-ли вам кто-то вот так влет расскажет и покажет. Эта программа - несколько страниц листинга на BorlandС. С соответствующими затратами времени. И то, если есть готовая библиотека поддержки Modbus или DCON, в зависимости от того, по какому протоколу работает модуль...
-
- частый гость
- Сообщения: 462
- Зарегистрирован: 31 июл 2010, 09:12
- Имя: Павел
- Страна: РФ
- Благодарил (а): 10 раз
- Поблагодарили: 17 раз
Re: исходник для i-7188EX + m-7045D
Заходите на ftp.icpdas.com. Там в каталоге /pub/cd/8000cd/napdos/7188e/demo/bc_tc/ есть множество демок. Демки для Modbus нет, но есть демки для работы с модулями DCON. Там же есть примеры программ, работающих с таймером.
В /pub/cd/8000cd/napdos/MiniOS7/Document/minios7_api_functions_v1.14.pdf есть описание основных функций, входящих в библиотеки ICP DAS.
В /pub/cd/8000cd/napdos/MiniOS7/Document/minios7_api_functions_v1.14.pdf есть описание основных функций, входящих в библиотеки ICP DAS.
-
- почётный участник форума
- Сообщения: 3974
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 230 раз
Re: исходник для i-7188EX + m-7045D
rexmoney, к сожалению ничего путного дома не отыскал.
Я собственно и просил конкретизировать вопрос - разобраться с протоколом и разобраться как на C писать в порты данные - это разные проблемы.
Сложно с вами, ибо документации куча, все расписано, но на импортном языке. Тем не менее, попробуем:)
у вас два варианта. Первый - изучить по русскоязычным учебникам работу с СОМ-портами на языке С. Никто не запрещает и на ассемблере напрямую общаться с UART контроллера, смысл - просто передать в нужный порт строку. Таких книг у меня электронных нет, все только в бумаге где-то 20-летней давности.
Второй - пользоваться родными библиотеками. Теоретически с ними проще, на практике иногда появляются неожиданные затыки с линкером - то ему одно не так, то другое... При наличии опыта работы с С/С++ и программирования для DOS и реального режима процессоров x86 все решаемо.
Документацию по функциям в 7188.h, ищите на диске от контроллера или в гугле файл 7188libe.pdf. Русскоязычной не видел. Только на китайском еще:)
Или, в вашем случае - ссылкой от MuadDib смотреть документацию именно по MiniOs7, так даже правильнее, хотя функции большей частью одинаковы.
Так вот ко второму варианту (на базе исходников от ICP из комплекта демок)- не уверен в том что вообще скомпилируется, постараюсь просто показать что и как. Отладка за вами.
В том же документе, ссылку на который дал MuadDib, есть и описания функций ToCom и ToComStr. Первая посылает в порт байт, вторая - строку. Эти функции не имеют представления ни о модулях, ни о контрольных суммах. Просто шлют что им сказано.
Я собственно и просил конкретизировать вопрос - разобраться с протоколом и разобраться как на C писать в порты данные - это разные проблемы.
Сложно с вами, ибо документации куча, все расписано, но на импортном языке. Тем не менее, попробуем:)
у вас два варианта. Первый - изучить по русскоязычным учебникам работу с СОМ-портами на языке С. Никто не запрещает и на ассемблере напрямую общаться с UART контроллера, смысл - просто передать в нужный порт строку. Таких книг у меня электронных нет, все только в бумаге где-то 20-летней давности.
Второй - пользоваться родными библиотеками. Теоретически с ними проще, на практике иногда появляются неожиданные затыки с линкером - то ему одно не так, то другое... При наличии опыта работы с С/С++ и программирования для DOS и реального режима процессоров x86 все решаемо.
Документацию по функциям в 7188.h, ищите на диске от контроллера или в гугле файл 7188libe.pdf. Русскоязычной не видел. Только на китайском еще:)
Или, в вашем случае - ссылкой от MuadDib смотреть документацию именно по MiniOs7, так даже правильнее, хотя функции большей частью одинаковы.
Так вот ко второму варианту (на базе исходников от ICP из комплекта демок)- не уверен в том что вообще скомпилируется, постараюсь просто показать что и как. Отладка за вами.
Код: Выделить всё
/* Compile mode: large - настройка в BorlandС знаю где, в MiniOS Studio - смотрите сами*/
#include <stdio.h>
#include "..\..\lib\7188e.h" //тут путь к заголовку библиотек- может не найти, придется прописать вручную
void main()
{
unsigned char OutBuf[],InBuf[];//переменные для строк команд и ответов
int iRet; //код ошибки обмена
//необходимая процедура - вызов библиотечной функции инициализации порта.
//параметры: COM2, скорость 9600, 8 бит данных, без четности, 1 стоповый бит
//проверьте настройки самого модуля, должно совпадать
InstallCom(2,9600,8,0,1);
//формируем строку команды включения - для библиотечных функций возврат каретки не нужен
strcpy (OutBuf,"#010001");
//посылаем ее модулю
//параметры: 2-COM2, OutBuf - собственно команда, 0-контрольная сумма не нужна
iRet=SendCmdTo7000(2,OutBuf,0);
//пауза 10мс чтобы железо успело отработать
delay(10); //вот за Delay не уверен, что работает в MiniOS, надо пробовать
//запись команды на выключение канала (0 в последний символ)
OutBuf[5]='0'
//пауза 1с
delay(1000)
//посылка команды выключения с новой строкой
iRet=SendCmdTo7000(2,OutBuf,0);
//тут ваши дополнения по логике программы
//освобождаем порт COM2
RestoreCom(2);
return();
}
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 04 авг 2011, 08:18
- Имя: Роман
- Страна: Россия
- город/регион: Саха (Якутия)
Re: исходник для i-7188EX + m-7045D
Спасибо, Никита!
Вам памятник нужно поставить за Ваше терпение.
Получилось управлять модулем через контролер.
#include <icpdas.h>
#include "i7188e\7188e.h"
int iRet;
void main()
{
InstallCom(2,9600,8,0,1);
iRet=SendCmdTo7000(2,"#070001",0); //включить первый выход модуля №7
RestoreCom(2);
}
Теперь займусь аналоговыми модулями.
Еще раз СПАСИБО!!!
Вам памятник нужно поставить за Ваше терпение.
Получилось управлять модулем через контролер.
#include <icpdas.h>
#include "i7188e\7188e.h"
int iRet;
void main()
{
InstallCom(2,9600,8,0,1);
iRet=SendCmdTo7000(2,"#070001",0); //включить первый выход модуля №7
RestoreCom(2);
}
Теперь займусь аналоговыми модулями.
Еще раз СПАСИБО!!!
-
- почётный участник форума
- Сообщения: 3974
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 230 раз
Re: исходник для i-7188EX + m-7045D
Не за что. Это не терпение, это просто свободное время в ожидании техусловий для работы:)
Посмотрел листинг еще раз - пропущено (точнее убрано за ненадобностью), но не полностью, два момента.
- переменная iRet содержит код ошибки обмена, и его, кроме получения, неплохо бы анализировать
- после паузы в 10мс для устаканивания электроники в первоисточнике проводится обратное чтение состояния модуля, дабы удостовериться что все правильно. Именно для этого объявлена неиспользуемая строка InBuf.
Успехов в освоении.
Вдогонку - www.ssau.ru/files/resources/sotrudniki/grafkin_a_v.pdf - в приложениях описание команд модулей.
Посмотрел листинг еще раз - пропущено (точнее убрано за ненадобностью), но не полностью, два момента.
- переменная iRet содержит код ошибки обмена, и его, кроме получения, неплохо бы анализировать
- после паузы в 10мс для устаканивания электроники в первоисточнике проводится обратное чтение состояния модуля, дабы удостовериться что все правильно. Именно для этого объявлена неиспользуемая строка InBuf.
Успехов в освоении.
Вдогонку - www.ssau.ru/files/resources/sotrudniki/grafkin_a_v.pdf - в приложениях описание команд модулей.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 23 ноя 2011, 07:40
- Имя: Фамилия
- Страна: Россия
Re: исходник для i-7188EX + m-7045D
Добрый день.
Никак не могу разобраться, необходимо получать данные с com порта icp con i-7188ex, потом дальше продолжать с ними работать. Но вот проблема: никак не могу победить ошибку "Undefined symbol _InstallCom in module ..".
Сократила программу до пары строк:
#include "..\lib\7188e.h"
void main ()
{
int port = 1;
InstallCom (port, 9600,8,0);
}
Написала на TC++, подключила все необходимые библиотеки с диска, как написано на сайте http://mtaalamu.ru/blog/980.html настроила компилятор.
Подскажите что можно сделать!
Никак не могу разобраться, необходимо получать данные с com порта icp con i-7188ex, потом дальше продолжать с ними работать. Но вот проблема: никак не могу победить ошибку "Undefined symbol _InstallCom in module ..".
Сократила программу до пары строк:
#include "..\lib\7188e.h"
void main ()
{
int port = 1;
InstallCom (port, 9600,8,0);
}
Написала на TC++, подключила все необходимые библиотеки с диска, как написано на сайте http://mtaalamu.ru/blog/980.html настроила компилятор.
Подскажите что можно сделать!
-
- БАН
- Сообщения: 642
- Зарегистрирован: 03 июн 2010, 12:26
- Имя: Козин Александр Елисеевич
- Страна: Украина
- город/регион: Одесса
- Благодарил (а): 2 раза
- Поблагодарили: 6 раз
- Забанен: Бессрочно
Re: исходник для i-7188EX + m-7045D
Давно не брал я этих "шашек в руки", но, похоже у вас коммуникационная библиотека не входит в библиотеку 7188e.h, и должна указываться в секции include отдельно.
-
- почётный участник форума
- Сообщения: 3974
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 230 раз
Re: исходник для i-7188EX + m-7045D
Ну во-первых - сам 7188e.h находится? Все нормально настроено?
В-вторых вижу несоответствие количества формальных (5) и фактически переданных (4) параметров функции.
Это так, с ходу. Надо смотреть подробнее все ошибки и предупреждения
В-вторых вижу несоответствие количества формальных (5) и фактически переданных (4) параметров функции.
Это так, с ходу. Надо смотреть подробнее все ошибки и предупреждения
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 23 ноя 2011, 07:40
- Имя: Фамилия
- Страна: Россия
Re: исходник для i-7188EX + m-7045D
Для теста я просто подключила h файл и пытаюсь выполнить функцию InitLib(), т.е.
#include "..\lib\7188e.h"
void main ()
{
InitLib();
}
ошибка все такая же: Undefined symbol _InitLib in module .. больше нет не ошибок, не предупреждений
H файл лежит в C:\TC\LIB\7188e.h
а вот насчет этого не поняла? "похоже у вас коммуникационная библиотека не входит в библиотеку 7188e.h, и должна указываться в секции include отдельно."
#include "..\lib\7188e.h"
void main ()
{
InitLib();
}
ошибка все такая же: Undefined symbol _InitLib in module .. больше нет не ошибок, не предупреждений
H файл лежит в C:\TC\LIB\7188e.h
а вот насчет этого не поняла? "похоже у вас коммуникационная библиотека не входит в библиотеку 7188e.h, и должна указываться в секции include отдельно."
-
- БАН
- Сообщения: 642
- Зарегистрирован: 03 июн 2010, 12:26
- Имя: Козин Александр Елисеевич
- Страна: Украина
- город/регион: Одесса
- Благодарил (а): 2 раза
- Поблагодарили: 6 раз
- Забанен: Бессрочно
Re: исходник для i-7188EX + m-7045D
А вот теперь уже похоже на то, о чем упоминает коллега Никита. У вас, скорее всего, нет доступа к библиотеке. Обычно - неправильно указан путь. А про коммуникационную библиотеку - это у какого-то из контроллеров она была в отдельном файле и с отдельным файлом заголовков. У какого - не упомню уже... Стар чукча стал, совсем плохой....
-
- здесь недавно
- Сообщения: 14
- Зарегистрирован: 07 окт 2009, 19:57
- Имя: Смирнов Юрий Николаевич
- Страна: Россия
- город/регион: Рыбинск
- Поблагодарили: 1 раз
Re: исходник для i-7188EX + m-7045D
#include "..\lib\7188e.h"
Этой инструкцией Вы указали компилятору: перейти в каталог выше (родительский), войти в каталог lib, считать файл 7188e.h
Учитывая, что полный путь c:\TC\LIB\7188e.h, Ваш исходный код в каталоге c:\TC\ваш_каталог...
Вероятно это не так.
Для проверки можно скопировать 7188e.h в каталог с исходным кодом (где функция main() ) и подправить #include "7188e.h"
Этой инструкцией Вы указали компилятору: перейти в каталог выше (родительский), войти в каталог lib, считать файл 7188e.h
Учитывая, что полный путь c:\TC\LIB\7188e.h, Ваш исходный код в каталоге c:\TC\ваш_каталог...
Вероятно это не так.
Для проверки можно скопировать 7188e.h в каталог с исходным кодом (где функция main() ) и подправить #include "7188e.h"
-
- частый гость
- Сообщения: 462
- Зарегистрирован: 31 июл 2010, 09:12
- Имя: Павел
- Страна: РФ
- Благодарил (а): 10 раз
- Поблагодарили: 17 раз
Re: исходник для i-7188EX + m-7045D
Поскольку компилятор не ругается на невозможность подключить файл "..\lib\7188e.h", значит проблема не в нем.
Ошибка "Undefined symbol" - это ошибка линкера. Она означает, что линкер (компоновщик) не может найти соответствующую функцию в предоставленных ему библиотеках (файлах *.LIB). Убедитесь, что библиотека 7188EL.lib присутствует в настройках проекта.
Настройку компилятора лучше всего произвести в соответствии с "родной" документацией (см. фирменный ftp или комплектный диск): \Napdos\MiniOS7\Document\Compiler.pdf
Ошибка "Undefined symbol" - это ошибка линкера. Она означает, что линкер (компоновщик) не может найти соответствующую функцию в предоставленных ему библиотеках (файлах *.LIB). Убедитесь, что библиотека 7188EL.lib присутствует в настройках проекта.
Настройку компилятора лучше всего произвести в соответствии с "родной" документацией (см. фирменный ftp или комплектный диск): \Napdos\MiniOS7\Document\Compiler.pdf