Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Уважаемые помогите
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
33123123
Люди добрые нужна помощь!!Имеется связка 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.gif
evc
CC1000 правильно сконфигурировать надо. PCLK, PDATA и PALE куда (/вообще) подключены?
33123123
Просто на ноги RB7-PALE,RB6-PDATA,RB5-PCLK...а что может быть не правильно сконфигурировано? значения какие нибудь??
evc
Это хорошо, что они подключены. Но туда нужно еще данные передавать. Там 22 регистра, их нужно заполнить данными. Ничего страшного, но эти данные зависят от того, как вы собираетесь пользоваться СС1000. Я не знаю какая у вас конфигурация - скорость, размер данных, частота, протокол обмена, и т.д. Обо всем об этом можете прочитать в приложенном datasheet-е. Принципиально, либо скажите руководству, что вам время не хватает (один месяц), либо закажите кому-то сделать это за вас (я не могу, работаю с этим трансивером, но время у меня вообще отрицательное). Дальше, если будут конкретные вопросы - отвечу.
А так ... нужно время, поэкспериментировать, попробовать, отладить протокол обмена ... Из моего опыта, протокол, которой подходить обычному USART-у, здесь не годиться - в промышленной среде слишком много ошибок, обычные средства исправлении (проверка четности, проверка контрольной суммы) не справляются (IMHO!!!).
Как начало, вам нужно написать драйвер USART-а. Вы пытаетесь пользоваться готовыми драйверами microelektronika-и. (IMHO!!!-->:) Так нельзя, начиная разбираться, делать. Я все свои драйверы пишу сам. Не чтоб хвастаться, а во первых, чтоб самому понять как точно деваайс работает, какие у него косяки, а во вторых, да простят меня все производители, я им не верю. (Еще раз, это - IMHO!!!) Я делаю так - в драйвер USART-а вставляю инициалиазацию трансивера. Начальная процедура инициализирует трансивер и дальше передаются только данные. Потом все - по протоколу обмена. Это "все", нужно хорошо обдумать. Какая у вас будет среда, какие помехи и т.д. Если преамбула у вас "весить" 400B, то что за данные? Вообще слишком много неизвестных, чтобы вам дать готовый ответ. Самое простое, качаете с сайта TI утилиту "SmartRF Studio", она вам даст готовые значения регистров, передаете эти значения во время инициализации CC1000, и дальше уже работаете как с обычным USART-ом.
Успехов!
Нажмите для просмотра прикрепленного файла
33123123
Спасибо за ответ rolleyes.gif К сожалению..писать драйверы я не умею...так как программирование пока еще тяжеловато дается..протокол обмена как раз и надо придумать...просто с одного устройства принять данные..но формирование пакета и тд..даже понятия не имею rolleyes.gif регистры эти я как раз записываю все которые выдает smartrf...все нормально и на передачу и на прием работает...символы даже из шумов принимал какие передавал...но подключал по Spi...вот только дело все в преамбуле...не видит и все..даже понятия не имею почему....может есть какие нибудь мнения?может микросхема как нибудь их фильтрует??И простите будет еще вопрос для чего все таки нужен Average filter?Может с ним что нибудь можно сделать?
=AK=
Цитата(33123123 @ May 24 2009, 08:56) *
протокол обмена как раз и надо придумать

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

Он какой то замудренный rolleyes.gif чтобы разобраться в нем мне понадобится очень много времени...мне просто надо сделать...стоит например 20 датчиков..нажимаем кнопку на одном из них..он отправляет что я нажал эту кнопку на этом датчике..вот и все..я просто хочу понять как это делается..так сказать основу rolleyes.gif
=AK=
Так вам разобраться надо, или чтобы работало? Чтобы работало, One-Net бесплатно раздает готовый год, в который вложены годы труда профессионалов. А чтобы разобраться, лучше всего найти учебник хороший. Совсем разные вещи.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.