Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
08.05.2010, 17:51
|
|
Временная регистрация
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
|
RS485 и ССS Compiler
Помогите пожалуйста с программой отсылки строки по рс485 в контроллер(с другого) и включение сигнализирующего диода.
У меня почему-то не работвет, хотя синтаксис вроди бы правильный.
Прект для PIc C compilera и файлы пртеуса в архиве ниже
output_data.rar
[ATTACH] [/ATTACH]
|
|
|
|
08.05.2010, 19:16
|
|
Прописка
Регистрация: 24.03.2010
Сообщений: 237
Сказал спасибо: 20
Сказали Спасибо 769 раз(а) в 139 сообщении(ях)
|
Re: RS485 и ССS Compiler
Для начала в Протеусе нужно правильно частоту PICов указать. Соединения все проверены? Передавать нужно простенькое - чтобы сразу графом увидеть. что приходит и уходит
|
|
|
|
08.05.2010, 19:53
|
|
Временная регистрация
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
|
Re: RS485 и ССS Compiler
Сообщение от P4550
|
Для начала в Протеусе нужно правильно частоту PICов указать. Соединения все проверены? Передавать нужно простенькое - чтобы сразу графом увидеть. что приходит и уходит
|
"Граф" что это такое?
|
|
|
|
08.05.2010, 19:59
|
|
Прописка
Регистрация: 24.03.2010
Сообщений: 237
Сказал спасибо: 20
Сказали Спасибо 769 раз(а) в 139 сообщении(ях)
|
Re: RS485 и ССS Compiler
Цитата:
|
"Граф" что это такое?
|
Слева на панели. В крайнем случае можно и осциллом ткнуться
Последний раз редактировалось P4550; 10.05.2010 в 10:16.
|
|
|
|
08.05.2010, 22:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: RS485 и ССS Compiler
В описании функции rs485_get_message есть формат возвращаемых данных, и при сравнении нужно учитывать, что у принимаемых данных есть ID и длина.
Код:
|
// Outputs: TRUE if a message was received
// FALSE if wait is FALSE and no message is available
// Note: Data will be filled in at the pointer as follows:
// FROM_ID DATALENGTH DATA...
int1 rs485_get_message(int* data_ptr, int1 wait)
{
... |
Думаю, так будет работать.
Код:
|
if (strncmp(eq_value,&data_ptr[2],3)==0)
{
output_high(PIN_A1);
} |
|
|
|
Сказали "Спасибо" AJScorp
|
|
|
09.05.2010, 04:06
|
|
Временная регистрация
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
|
Re: RS485 и ССS Compiler
Сообщение от AJScorp
|
В описании функции rs485_get_message есть формат возвращаемых данных, и при сравнении нужно учитывать, что у принимаемых данных есть ID и длина.
Код:
|
// Outputs: TRUE if a message was received
// FALSE if wait is FALSE and no message is available
// Note: Data will be filled in at the pointer as follows:
// FROM_ID DATALENGTH DATA...
int1 rs485_get_message(int* data_ptr, int1 wait)
{
... |
Думаю, так будет работать.
Код:
|
if (strncmp(eq_value,&data_ptr[2],3)==0)
{
output_high(PIN_A1);
} |
|
Почему берем адресс только 3-го элемента(переданного байта)? Ведь в функцию необходимо было передать начальные адреса сравниваемых массивов?
|
|
|
|
09.05.2010, 04:26
|
|
Временная регистрация
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
|
Re: RS485 и ССS Compiler
Сообщение от Boris_Britva
|
3-го элемента(переданного байта)
|
Вроди понял) Позже попробую этот вариант. Как ч понял, в массиве по адресу &ptr[0]-
один байт с адресом отправителя, &ptr[1]- один байт длинны передачи. Если так, то теоритически все должно работать. Yopey!
|
|
|
|
09.05.2010, 12:14
|
|
Временная регистрация
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
|
Re: RS485 и ССS Compiler
кстати, зря радовался, не работает!
|
|
|
|
09.05.2010, 12:29
|
|
Прописка
Регистрация: 24.03.2010
Сообщений: 237
Сказал спасибо: 20
Сказали Спасибо 769 раз(а) в 139 сообщении(ях)
|
Re: RS485 и ССS Compiler
Последний раз редактировалось P4550; 10.05.2010 в 09:45.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:20.
|
|