Здравствуйте уважаемые форумчане. Нужна ваша помощь и совет:
я студент, и мне поставили задачу написать программу для ADAM5510M, которая бы осуществляла передачу файла из памяти микроконтроллера на PC через RS232 писать на Turbo C
до этого ни разу в глаза не видел МК поэтому есть вопросы, надеюсь помножите:
1. есть ли готовая реализация? 2. это возможно реализовать на Turbo C? 3. есть ли функции в Turbo C которые выводят список всех файлов находящихся на диске МК(или надо указывать в коде программы явный путь к файлу) 4. len=1 FILE *f;
f=fopen(File_Name,"r"); \тут открываю для чтения c=fread(rec,len,1,f);
\тут читаю в переменную 1 элемент размером в 1 байт далее функции из библиотеки COMM*.LIB по работе с RS232
заранее спасибо.
неужели никто подобным не занимается?
ADAM5510M - это не микроконтроллер!!!
1. Да, см. #cd C:\ #DIR
C:\transfer.exe
2. Да. 3. ХЗ, скорее всего Да. 4. примерно так.
1. Не встречал.
2. Безусловно.
3. см. в dir.h функции findfirst , findnext
4. смотри документацию на ADAM5510. - я сам программировал icpcon'ы. Поэтому с коммуникационными функциями АДАМов не сталкивался.
Для передачи файла нужно сочинить какой-нибудь "протокол" и в соответствии с ним разработать передающую часть для АДАМА и принимающую на PC.
Вы найдете примеры работы с модулем, в том числе и с коммуникационными функциями.
Файловые операции - это стандартные операции и описание по ним ищите в хелпе на Turbo C.
Ну, и если не получится, то надо начинать читать руководство пользователя на модуль.
KozlovKS, спасибо большое за ответ. работа продвинулась значительно.
К сожалению возникли затруднения, не получается подключить коммуникационные функции
#include "5510drv.h" - прописан в программе. все библиотеки закинуты в нужные папки, пути прописаны в среде.
такие функции как LED_init(); LED_OFF(PWR); LED_OFF(RUN); LED_OFF(COMM); adv_printf AdamDelay Работают нормально/
не работают лишь те функции что расположены ниже
int com_install(int portnum); void com_deinstall(void); void com_set_speed(unsigned long speed); void com_set_parity(enum par_code parity, int stop_bits); void com_tx(char c);
в файле 5510drv.h
может кто поможет чем? или в архиве скинет среду с настроенным работающим проектом с этими функциями
открывал проект от Адвантеха, подсовывая туда свой код. потерпел неудачу.
Просто нужно в BC 3.0 в ваш проект ( для поддержки последовательных портов) добавить библиотеку COMMS.lib (или COMMM.lib в зависимости от модели памяти).
т.е. в меню "Project"->"add item" указать путь к нужной библиотеке и всё заработает.
а для того, чтобы по-быстрому узнать в какой библиотеке лежит требуемая функция, можно тупо в тотал коммандере поиском в файлах типа *.lib задать имя функции.. и всё.
Первоначально опубликовано kuzulis
т.е. в меню "Project"->"add item" указать путь к нужной библиотеке и всё заработает.
этот пункт меню неактивен
Project -> "Include File" -> добавить нужный файл *.LIB. Так надо добавить все файлы адвантековских библиотек.
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме