|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
cc2500的跳頻方法 |
| 作者:搞搞ARM 欄目:通信技術(shù) |
請(qǐng)教CC2500的跳頻方法,哪里有這樣的資料或者能提供這方面的資料, 不勝感激. x9494@126.com |
| 2樓: | >>參與討論 |
| 作者: 搞搞ARM 于 2007/2/6 14:43:00 發(fā)布:
不需要跳頻還是采用定時(shí)跳頻? 不需要跳頻還是采用定時(shí)跳頻? |
|
| 3樓: | >>參與討論 |
| 作者: 木頭東瓜 于 2007/2/6 14:48:00 發(fā)布:
需求都沒說清楚 |
|
| 4樓: | >>參與討論 |
| 作者: 搞搞ARM 于 2007/2/6 14:53:00 發(fā)布:
就是用CC2500設(shè)計(jì)的無線通訊 就是用CC2500設(shè)計(jì)的無線通訊,主從都是用CC2500模塊,第一次設(shè)計(jì), 聽說通訊的時(shí)候需要進(jìn)行跳頻,否則可能效果不好. |
|
| 5樓: | >>參與討論 |
| 作者: chunyang 于 2007/2/6 16:04:00 發(fā)布:
是否跳頻要根據(jù)需要定 頻點(diǎn)是通過寫寄存器實(shí)現(xiàn)的。 |
|
| 6樓: | >>參與討論 |
| 作者: 搞搞ARM 于 2007/2/7 13:12:00 發(fā)布:
CHANNR 可不可以其他都用默認(rèn)值,只改變寄存器0A(CHANNR)實(shí)現(xiàn)跳頻? |
|
| 7樓: | >>參與討論 |
| 作者: zhuzi0624 于 2007/4/29 16:15:00 發(fā)布:
我也在做CC2500的跳頻,大家一起討論啊 我現(xiàn)在做CC2500的跳頻設(shè)計(jì),不過我這個(gè)跳頻不需要在工作時(shí)跳頻,只需要在開始的時(shí)候搜索到一個(gè)合適頻段,接下來都在這個(gè)頻段通信。 我現(xiàn)在面臨的情況是:CC2500的主從端時(shí)間上同步的不是很好,主端發(fā)送的數(shù)據(jù)從端有時(shí)能收到,有時(shí)不能;而且從端在回發(fā)數(shù)據(jù)給主端的時(shí)候,主端根本收不到! 我用的MCU是C8051F330,下面是我的收發(fā)端主程序: void main()//發(fā)送端程序 { CHAR len; int i=0; int k=20; PCA0MD &= ~0x40; Init_Device(); SPI0CN |= 0x01; //enable SPI System_Delay(5000); SetupCC2500(); System_Delay(512); len=sizeof(txBuffer_CC2500); while(1) { halSpiWriteReg(CC2500_FREQ2, f[i][0]); halSpiWriteReg(CC2500_FREQ1, f[i][1]); halSpiWriteReg(CC2500_FREQ0, f[i][2]); halSpiStrobe(CC2500_SIDLE); txBuffer_CC2500[1]=i; halRfSendPacket(txBuffer_CC2500, sizeof(txBuffer_CC2500));//試發(fā)送消息給接收端 if(halRfReceivePacket(rxBuffer_CC2500,len))break;//等到對(duì)方的回應(yīng),得到回應(yīng)消息跳出 if((k--)==0)//k從20減到0換一個(gè)頻段 { k=20; i++; if(i>8)i=0; } } while(1) { P13=1;P14=0;//LED顯示狀態(tài) } } void main()//接收端主程序 { CHAR len; int i=0,n=0; int k=180; PCA0MD &= ~0x40; Init_Device(); SPI0CN |= 0x01; //enable SPI System_Delay(5000); SetupCC2500(); System_Delay(512); len=sizeof(rxBuffer_CC2500); while(1) { if(halRfReceivePacket(rxBuffer_CC2500,len))//試接收來自對(duì)方的信號(hào) { halSpiWriteReg(CC2500_FREQ2, f[i][0]); halSpiWriteReg(CC2500_FREQ1, f[i][1]); halSpiWriteReg(CC2500_FREQ0, f[i][2]); halSpiStrobe(CC2500_SIDLE); txBuffer_CC2500[1]=rxBuffer_CC2500[1];//記住頻段號(hào) halRfSendPacket(txBuffer_CC2500, sizeof(txBuffer_CC2500));//發(fā)送回應(yīng)消息,告訴對(duì)方就在該頻段通信 break;//此時(shí)已搜索到頻段,跳出,以后都工作在此頻段 } if((k--)>0)//k從180減到0換一個(gè)頻段搜索 { k=180; i++; if(i>8)i=0; } } for(n=0;n<len;n++) trdata[n]=rxBuffer_CC2500[n]; Send_String(trdata,len); //串口輸出數(shù)據(jù) System_Delay(512); while(1) { P13=1;P14=0;//LED顯示狀態(tài) }//數(shù)據(jù)稍后再做處理 } |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |