Перейти к содержанию
    

Уважаемые помогите

Люди добрые нужна помощь!!Имеется связка PIC18f2550 и CC1000..соединение по USART...на RX висит DCLK,на TX висит DIO...Пишу в MIKROC..проблема в том, что записываю данные в USART к примеру преамбулу а она не ловится в эфире..все шумы вижу...а именно саму преамбулу нет..измучился не могу...апноуты с chipcon все посмарел..но так и не разобрался..вот примерный код что навоял..

TX:

void TX()

{int q;

char i=0xAA;

TRISC.F6=0;

Usart_Init(2400);

for (q=0;q<400;q++)

{

Usart_Write(i);

 

}

}

 

RX:

void RX()

{

unsigned short n;

TRISC.F6=1;

n=Usart_Read();

if (n==0xAA || n==0x55)

{PORTA.F4=1;}

}

 

Может где ошибка?

И еще не подскажите какие нить линки разобраться там с преамбулой,кодовыми словами..в общем реализацией простейшей передачи данных..а то начальство дало задание сделать за месяц..а я и СИ и МК только начал изучать :unsure:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CC1000 правильно сконфигурировать надо. PCLK, PDATA и PALE куда (/вообще) подключены?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Просто на ноги RB7-PALE,RB6-PDATA,RB5-PCLK...а что может быть не правильно сконфигурировано? значения какие нибудь??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это хорошо, что они подключены. Но туда нужно еще данные передавать. Там 22 регистра, их нужно заполнить данными. Ничего страшного, но эти данные зависят от того, как вы собираетесь пользоваться СС1000. Я не знаю какая у вас конфигурация - скорость, размер данных, частота, протокол обмена, и т.д. Обо всем об этом можете прочитать в приложенном datasheet-е. Принципиально, либо скажите руководству, что вам время не хватает (один месяц), либо закажите кому-то сделать это за вас (я не могу, работаю с этим трансивером, но время у меня вообще отрицательное). Дальше, если будут конкретные вопросы - отвечу.

А так ... нужно время, поэкспериментировать, попробовать, отладить протокол обмена ... Из моего опыта, протокол, которой подходить обычному USART-у, здесь не годиться - в промышленной среде слишком много ошибок, обычные средства исправлении (проверка четности, проверка контрольной суммы) не справляются (IMHO!!!).

Как начало, вам нужно написать драйвер USART-а. Вы пытаетесь пользоваться готовыми драйверами microelektronika-и. (IMHO!!!-->:) Так нельзя, начиная разбираться, делать. Я все свои драйверы пишу сам. Не чтоб хвастаться, а во первых, чтоб самому понять как точно деваайс работает, какие у него косяки, а во вторых, да простят меня все производители, я им не верю. (Еще раз, это - IMHO!!!) Я делаю так - в драйвер USART-а вставляю инициалиазацию трансивера. Начальная процедура инициализирует трансивер и дальше передаются только данные. Потом все - по протоколу обмена. Это "все", нужно хорошо обдумать. Какая у вас будет среда, какие помехи и т.д. Если преамбула у вас "весить" 400B, то что за данные? Вообще слишком много неизвестных, чтобы вам дать готовый ответ. Самое простое, качаете с сайта TI утилиту "SmartRF Studio", она вам даст готовые значения регистров, передаете эти значения во время инициализации CC1000, и дальше уже работаете как с обычным USART-ом.

Успехов!

CC1000.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ :rolleyes: К сожалению..писать драйверы я не умею...так как программирование пока еще тяжеловато дается..протокол обмена как раз и надо придумать...просто с одного устройства принять данные..но формирование пакета и тд..даже понятия не имею :rolleyes: регистры эти я как раз записываю все которые выдает smartrf...все нормально и на передачу и на прием работает...символы даже из шумов принимал какие передавал...но подключал по Spi...вот только дело все в преамбуле...не видит и все..даже понятия не имею почему....может есть какие нибудь мнения?может микросхема как нибудь их фильтрует??И простите будет еще вопрос для чего все таки нужен Average filter?Может с ним что нибудь можно сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

протокол обмена как раз и надо придумать

Зачем обязательно свой придумывать, почему нельзя взять готовый? Посмотрите, например, One-Net, может, он вам подойдет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем обязательно свой придумывать, почему нельзя взять готовый? Посмотрите, например, One-Net, может, он вам подойдет.

Он какой то замудренный :rolleyes: чтобы разобраться в нем мне понадобится очень много времени...мне просто надо сделать...стоит например 20 датчиков..нажимаем кнопку на одном из них..он отправляет что я нажал эту кнопку на этом датчике..вот и все..я просто хочу понять как это делается..так сказать основу :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вам разобраться надо, или чтобы работало? Чтобы работало, One-Net бесплатно раздает готовый год, в который вложены годы труда профессионалов. А чтобы разобраться, лучше всего найти учебник хороший. Совсем разные вещи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...