syuha 0 31 июля, 2008 Опубликовано 31 июля, 2008 · Жалоба Вобщем до этого работал с IEEE802.15.4 на MC13213 (Freescale),там все предельно ясно,куча примеров, все расписано по шагам,тем более был отличный семинар в Питере в апреле по ZigBee стеку. :a14: Теперь попал в руки знаменитый 99$ набор EZ430-RF2480.Там стоит MSP430F2274 и CC2480. Я засучил рукава и взятся за CC2480 Interface Specification (SWRA175A). Зы выходные прочел, понял на ~80% и начал ваять. Не работает,тогда смотрю примеры от TI: 1. SWRU169: рассмотрены по сути только 3 команды, причем самые элементарные: cc2480HardReset, cc2480SoftReset, getChipId.Они и без примеров были предельно ясны. 2. SWRC097: родная прошивка этого набора (ZASA). Тут наоборот такие дебри,что аж страшно. Программа вроде бы простая, но как наворочена. Я около 20% понял только. Я,честно говоря, программист-то не очень. Наконец вопрос: кто уже работал с CC2480 поделитесь самым простым примером - отправить/принять. Вот что делаю я: a. MSP peripheral initialization (DCO=MCLK=SMCLK=8MHz,GPIO,UART) b. CC2480 power up procedure (CFG0,CFG1, SPI:SMCLK/3,4-pin,8-bit,master) c. CC2480 configaration procedure (Coordinator/Router,Short adress,PANID,channel list) d. Registering application(ZB_APP_REGISTER_REQUEST) e. Start ZigBee stack (ZB_START_REQUEST) Вот тут начинаются проблемы. Жду от CC2480 ответа в виде ZB_START_CONFIRM,а в ответ тишина. Вот main() для координатора: void main (void) { uint8 value8; uint16 value16; uint32 value32; //MSP430 peripheral initialization BoardInit(); // MCLK=SMCLK=DCO=8MHz,USCIB0:SPI,8-bit,Master,4-pin,SMCLK/3 //CC2480 confiruration procedure cc2480HardReset(); // Clear all CC2480 Configurations to default values value8 = 0x00; // Set device type to COORDINATOR zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, 1, &value8); printKvpHex8bit("ZCD_NV_LOGICAL_TYPE status is: ", hostMsgBuf[3]); //Смотрю статус в HT - OK cc2480HardReset(); value16 = 0x2481; // Set short adress to 0x2481 zb_WriteConfiguration(ZCD_NV_USERDESC, 2, &value16); printKvpHex8bit("ZCD_NV_USERDESC status is: ", hostMsgBuf[3]); //Смотрю статус в HT - OK value16 = 0x2480; // Set net. PANID to 0x2480 zb_WriteConfiguration(ZCD_NV_PANID, 2, &value16); printKvpHex8bit("ZCD_NV_PANID status is: ", hostMsgBuf[3]); //Смотрю статус в HT - OK value32 = 0x00000001; // Set ch. number to 0 value zb_WriteConfiguration(ZCD_NV_CHANLIST, 4, &value32); printKvpHex8bit("ZCD_NV_CHANLIST status is: ", hostMsgBuf[3]); //Смотрю статус в HT - OK value8 = 0x02; // Set STARTUP_OPTION to 0x02 zb_WriteConfiguration(ZCD_NV_STARTUP_OPTION, 1, &value8); printKvpHex8bit("ZCD_NV_STARTUP_OPTION status is: ", hostMsgBuf[3]); //Смотрю статус в HT - OK printStr("\n"); //Step 7. CC2480 stack start up procedure RegApplication(); //Registering the aplication printKvpHex8bit("Register application status is: ", hostMsgBuf[3]); //Смотрю статус в HT - OK StartStack(); //Start stack //После этого CC2480 должна прислать ответ ZB_START_CONFIRM, но она молчит //Step 8. Data receiving for(;;) { while (ZACCEL_SRDY_IN() != 0); //Get ZB_RECEIVE_DATA_INDICATION cc2480RpcPoll(hostMsgBuf); //Get the length of received packet value16 = hostMsgBuf[7]; value16 = (value16<<8) + hostMsgBuf[8]; while(value16 != 0) { printKvpHex8bit("Received data is:",hostMsgBuf[10+value16]); value16--; } } } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 18 ноября, 2008 Опубликовано 18 ноября, 2008 · Жалоба Теперь попал в руки знаменитый 99$ набор EZ430-RF2480.Там стоит MSP430F2274 и CC2480. Я засучил рукава и взятся за CC2480 Interface Specification (SWRA175A). Зы выходные прочел, понял на ~80% и начал ваять. Не работает,тогда смотрю примеры от TI: Я с этим сейчас работаю. Если еще интересно - пиши. ICQ: 311337544 мыло: [email protected] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_30 0 1 марта, 2010 Опубликовано 1 марта, 2010 · Жалоба Народ, помогите разобраться с СС2480. Этот девайс шлёт мне в ответе на SREQ команду последний байт всегда равным 0. Все остальные байты в ответе шлёт правильно, а последний всегда нулевой. Понять не могу почему так! Помогите, кто работал с СС2480! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться