Infection001 0 23 мая, 2009 Опубликовано 23 мая, 2009 · Жалоба Люди добрые нужна помощь!!Имеется связка 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: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evc 0 23 мая, 2009 Опубликовано 23 мая, 2009 · Жалоба CC1000 правильно сконфигурировать надо. PCLK, PDATA и PALE куда (/вообще) подключены? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infection001 0 23 мая, 2009 Опубликовано 23 мая, 2009 · Жалоба Просто на ноги RB7-PALE,RB6-PDATA,RB5-PCLK...а что может быть не правильно сконфигурировано? значения какие нибудь?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evc 0 23 мая, 2009 Опубликовано 23 мая, 2009 · Жалоба Это хорошо, что они подключены. Но туда нужно еще данные передавать. Там 22 регистра, их нужно заполнить данными. Ничего страшного, но эти данные зависят от того, как вы собираетесь пользоваться СС1000. Я не знаю какая у вас конфигурация - скорость, размер данных, частота, протокол обмена, и т.д. Обо всем об этом можете прочитать в приложенном datasheet-е. Принципиально, либо скажите руководству, что вам время не хватает (один месяц), либо закажите кому-то сделать это за вас (я не могу, работаю с этим трансивером, но время у меня вообще отрицательное). Дальше, если будут конкретные вопросы - отвечу. А так ... нужно время, поэкспериментировать, попробовать, отладить протокол обмена ... Из моего опыта, протокол, которой подходить обычному USART-у, здесь не годиться - в промышленной среде слишком много ошибок, обычные средства исправлении (проверка четности, проверка контрольной суммы) не справляются (IMHO!!!). Как начало, вам нужно написать драйвер USART-а. Вы пытаетесь пользоваться готовыми драйверами microelektronika-и. (IMHO!!!-->:) Так нельзя, начиная разбираться, делать. Я все свои драйверы пишу сам. Не чтоб хвастаться, а во первых, чтоб самому понять как точно деваайс работает, какие у него косяки, а во вторых, да простят меня все производители, я им не верю. (Еще раз, это - IMHO!!!) Я делаю так - в драйвер USART-а вставляю инициалиазацию трансивера. Начальная процедура инициализирует трансивер и дальше передаются только данные. Потом все - по протоколу обмена. Это "все", нужно хорошо обдумать. Какая у вас будет среда, какие помехи и т.д. Если преамбула у вас "весить" 400B, то что за данные? Вообще слишком много неизвестных, чтобы вам дать готовый ответ. Самое простое, качаете с сайта TI утилиту "SmartRF Studio", она вам даст готовые значения регистров, передаете эти значения во время инициализации CC1000, и дальше уже работаете как с обычным USART-ом. Успехов! CC1000.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infection001 0 23 мая, 2009 Опубликовано 23 мая, 2009 · Жалоба Спасибо за ответ :rolleyes: К сожалению..писать драйверы я не умею...так как программирование пока еще тяжеловато дается..протокол обмена как раз и надо придумать...просто с одного устройства принять данные..но формирование пакета и тд..даже понятия не имею :rolleyes: регистры эти я как раз записываю все которые выдает smartrf...все нормально и на передачу и на прием работает...символы даже из шумов принимал какие передавал...но подключал по Spi...вот только дело все в преамбуле...не видит и все..даже понятия не имею почему....может есть какие нибудь мнения?может микросхема как нибудь их фильтрует??И простите будет еще вопрос для чего все таки нужен Average filter?Может с ним что нибудь можно сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 24 мая, 2009 Опубликовано 24 мая, 2009 · Жалоба протокол обмена как раз и надо придумать Зачем обязательно свой придумывать, почему нельзя взять готовый? Посмотрите, например, One-Net, может, он вам подойдет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infection001 0 24 мая, 2009 Опубликовано 24 мая, 2009 · Жалоба Зачем обязательно свой придумывать, почему нельзя взять готовый? Посмотрите, например, One-Net, может, он вам подойдет. Он какой то замудренный :rolleyes: чтобы разобраться в нем мне понадобится очень много времени...мне просто надо сделать...стоит например 20 датчиков..нажимаем кнопку на одном из них..он отправляет что я нажал эту кнопку на этом датчике..вот и все..я просто хочу понять как это делается..так сказать основу :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 24 мая, 2009 Опубликовано 24 мая, 2009 · Жалоба Так вам разобраться надо, или чтобы работало? Чтобы работало, One-Net бесплатно раздает готовый год, в который вложены годы труда профессионалов. А чтобы разобраться, лучше всего найти учебник хороший. Совсем разные вещи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться