Собственная библиотека для ADAM 5510 |
Ответить | Страница <1234> |
Автор | |
Участник Присоединился: 02 Декабрь 2010 Online Status: Offline Публикации: 68 |
Опубликовано: 14 Декабрь 2011 15:15 |
продолжаем 10 часть пример
файл main.cpp #include "sio.h" #include <stdio.h> //--------------------------------------------------------------------------------- void main(void) { int main(void) { char sendcmd[2000]; char recvcmd[2000]; unsigned int i; sio_com_t nport = SIO_COM1; for(i=0;i<256;i++) sendcmd = (char)i; printf ("Start\n"); sio_open(nport, SIO_BLOCK_MODE, 512, 512); sio_configure(nport, SIO_BPS_19200, SIO_PAR_NONE, SIO_DATA8, SIO_STOP1); sio_send(nport, (const char *)sendcmd, 256); sio_recv(nport, (char *)recvcmd, 5); i = 0; for (i = 0; i<6; i++) { printf("%c(%Xh)\t", recvcmd,(recvcmd&0x00ff)); } sio_close(nport); printf ("\n\nm_err = %d\n", sioerrno); printf ("End\n"); } } |
|
Действительный член Присоединился: 15 Октябрь 2003 Категория: Belarus Online Status: Offline Публикации: 141 |
|
ОГРОМНОЕ спасибо - переведу на Pascal - выложу...
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 27 Март 2003 Категория: Russian Federation Online Status: Offline Публикации: 240 |
|
Какие то объемные листинги, статьи, и другие материалы наверное удобнее выкладывать в разделе on-line публикаций (http://www.cta.ru/online/online_rubriki.htm). А в форуме давать просто ссылку на эти публикации. Кому интересно туда посмотрят. Иначе получается что те кто подписан на автоматическое получение сообщений с форума вынужден получать множество объемных писем на тему которая их возможно не интересует.
|
|
Участник Присоединился: 02 Декабрь 2010 Online Status: Offline Публикации: 68 |
|
Извиняюсь за неудобства!
Проста у меня нет возможности работать с не корпоративными почтовыми ящиками. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 27 Март 2003 Категория: Russian Federation Online Status: Offline Публикации: 240 |
|
Я не вижу связи предложенного алгоритма с какими либо почтовыми ящиками. Оформляете в произвольной форме свой листинг с произвольного размера комментариями, примерами использования, фотографиями и т.п. посылаете на info@cta.ru с просьбой выложить файл в разделе on-line публикаций. После выкладывания пишете в форум сообщение со ссылкой на Вашу статью.
|
|
Участник Присоединился: 02 Декабрь 2010 Online Status: Offline Публикации: 68 |
|
С рабочего компьютера где лежат все исходники я не могу отправить на
почтовый адрес info@cta.ru, объщаться по ICQ, чатам и скайпу также не
могу сохранить на флешку или еще куда, для общения только форумы открыты.
P.S корпоративная безопасность блин |
|
Участник Присоединился: 04 Декабрь 2008 Категория: Russian Federation Online Status: Offline Публикации: 81 |
|
Привет, Олег (узнал? :) )
Можешь попробовать зарегаться на любом форуме, в который можно прицепить аттач. Запаковать зипом архив и сунуть на форум или какой нить файлообменник как аттач. Я так делал (на форум заливал) :) А далее, можно будет выложить код на google.code или на gitorious или еще на что. Только комментарии на англицком переписать. И кто захочет - сможет там добавлять, новые библиотеки для работы с модулями I/O и т.п., если конечно, те люди не халявщики и не жадины. :) |
|
Участник Присоединился: 04 Декабрь 2008 Категория: Russian Federation Online Status: Offline Публикации: 81 |
|
Я б сам это сделал, но ты знаешь что не могу теперь :)
|
|
Действительный член Присоединился: 15 Октябрь 2003 Категория: Belarus Online Status: Offline Публикации: 141 |
|
Для 3 порта (программирования) данные передаются.
По портам 1, 2 и 4 передавать данные не могу... Пока передаётся только первый байт из буфера... Не нашёл нигде: 1) в процедуре передачи в конце обычно стоит: port[uart_ier] := port[uart_ier] or IER_XMT; 2) в обработчике прерываний на передачу при IndHead=IndTail обычно делают port[uart_ier] := port[uart_ier] AND NOT IER_XMT; Разгребаюсь дальше... |
|
Участник Присоединился: 02 Декабрь 2010 Online Status: Offline Публикации: 68 |
|
У вас ошибка в функции com_port.write(b:byte)
with bufs[nCom] do begin t_buffer^[t_tail] := b; inc(t_tail); if t_tail > t_size then t_tail := 0; if (t_tail = t_head) then begin inc(t_head); {overflow} if t_head > t_size then t_head:=0; end; Inline(disable_interrupts); port[uart_ier] := port[uart_ier] or 2; Inline(Enable_Interrupts); end; Здесь будет передаваться 1 байт - по таму-что вы переполняете FIFO буфер, непонятно почему FIFO не инициализировалась до 16 байт. Но все равно если вы его инициализировали до 16 эта процедура будет передовать 16 байт потом опять переполнится |
|
Ответить | Страница <1234> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |