? 無線模塊專業網站!安陽市新世紀電子研究所專業研發生產小體積低功耗 無線模塊 無線收發模塊 2.4G無線模塊 無線遙控器 無線接收器 無線控制器
                1. 全國服務熱線:0372-5968708
                  ?
                  產品目錄
                  市場部聯系電話:
                  0372-5968708
                  傳真:0372-5968993
                  郵箱:ay5968708@163.com
                  中國﹒河南省安陽市文峰大道與朝陽路口國貿大廈A座9F
                  歡迎咨詢市場部在線客服!
                  技術支持
                  您當前位置:首頁 > 技術支持
                  JF24D技術咨詢問答01
                  發布:xsj  發布日期:2011-03-10 15:04:44  瀏覽:4566次


                  1  客戶問:

                      我們是汕頭做玩具的,現在在用你們的jf24d做單發單收的遙控小車。兩套不同的發射和接收如何設置才能不受干擾,我需要15頻道。
                    我是這樣設置的,2MS發送一次,然后換一個頻道。 32MS接收一次,然后換一個頻道。
                    現在接收50米沒有問題。但多套產品在一起發送接收時,如何回避干擾?我要一個發射只對一個接收。因為我們配套的產品是出口的,生產1萬產品至少要15個頻道以上。
                   答復 可以修改頻道選擇寄存器{5,0x17}接收通道0的地址,每個可以設置不同的地址來區分每套產品。不會互相干擾。否則2.4G產品就沒有優勢了。

                   

                  2  客戶  
                     REG4[0]=0,REG4[1]=0,REG4[3]=0,REG4[23]=0 **************/
                     for(j=0;j<4;j++)
                      {
                      WriteArr[j]=(RegArrFSKAnalog[4]>>(8*(j) ) )&0xff;
                      }
                     在這個程序中有點不明白
                    WriteArr[0]=0X0B ;
                     WriteArr[1]=0X86 ;
                     WriteArr[2]=0X9E ;
                     WriteArr[3]=0XC1 ;

                    答復:  這個是初始化寫寄存器的函數,不用管的 
                    

                    客戶我看到貴格書上的不一樣
                    REG4 = 0x4199000B2Mbps數據速率請設置為0x4199100B
                    //寄存器組1 0-13號寄存器的初始值
                     code UINT32 RegArrFSKAnalog[]={
                    0xE2014B40,
                    0x00004B40,
                    0x028CFCD0,
                    0x41390099,
                    0x0B869EC1,
                    不是0x41390099,這個才對嗎?
                    答復: 新版的JF24D速率只有1M,不是2M。
                    

                    客戶還有一個問題請教一下,如何檢驗初始化正確,因為我沒用51,我們用了應廣的
                    單片機,是不是看電流就行了?
                    答復:  電流是一方面,也可以用仿真的方法。讀一下寄存器。 

                    

                    客戶怎么讀? 全部寄存器嗎? 
                    答復:  不用
                    

                    客戶看那幾個?
                    答復:  SPI_Write_Reg(RF_CH, 0x40);
                     Value=SPI_Read_Reg(RF_CH);
                     然后看Value的值和0x40相等不,如果相等可以斷定SPI通訊成功。
                     看電流更直接,初始化成功后JF24D電流一般在14-21mA之間,加上STC單片機正常工作的電流4-8mA,整模塊的電流在29mA左右,而初始化沒有成功的JF24D模塊電流會很大,大約在40-50mA之間。所以通過看電流就能夠初步判斷出來單片機初始化是否完成
                    

                    客戶問:如果有一些寄存器沒初始化成功,JF24D就不能通信?
                    答復:是的。Value的值和0x40相等,說明寄存器設置成功, 而且能讀出數據。spi就正常工作了。  
                   

                    客戶問:  有沒有一個寄存器,可以說明初始化成功的?

                    答復:RF_CH這個寄存器, 只要讀寫寄存器成功,就說明初始化沒有問題。可以是任意一個寄存器。你可以初始化過之后直接讀寄存器,看是否與寫入值一樣。

                  客戶問:是這樣,我手頭上面有幾個你們公司的新板jf24d模塊在做測試,但我的驅動程序始終驅動不起來,請問您能幫我看看程序哪部分不對嗎?硬件上面連接沒有問題,我用的是stm32,程序參考你們公司網站上面的例子。初始化不成功。我寫,然后讀RF_CH寄存器,讀到的值始終為0x02,不論寫什么值都是這個值。

                  回復:

                    程序上沒有什么問題,注意CE引腳,在初始化的時候應該為高,不同的單片機在初始化的時候可能會不一樣,CE在初始化的時候必須置為高電平。否則會導致初始化失敗。

                    再檢查一下時序,確認一下IO口的設置,程序上SPI時序是否執行了。

                    初始化不成功問題:

                     51單片機上電之后SPI四根線還有CE初始狀態是高電平,stm32單片機上電后需要確認。判斷初始化是否成功,頻率寄存器 寫進去 再讀出來 看一樣不一樣。頻率寄存器可以讀寫修改,初始化一般都是成功的。初始化不成功,頻率寄存器無法改寫。先初始化才能對寄存器驗證。JF24DC語言程序可以移植到其他單片機,8位單片機和32位單片機都可以用。

                   

                  4  客戶說:  你們初始化里面有個語句好像是死循環。 

                     回復: 不會是死循環的。測試過多次,沒有問題的。

                     客戶說:  for(i=20;i>=0;i--) 這個不就是嗎?

                     回復:  for(i=20;i>=0;i-- 
                      )        SPI_Write_Reg((WRITE_REG|RegArrFSK[i][0]),RegArrFSK[i][1]); //初始化
                     前面定義的寄存器  你要看完 ,這是循環20次,這不是死循環。

                     客戶說:  我要改成for(i=20;i>0;i--)   

                     回復:  不可以。

                     客戶說:  不然就i=0后再減又從255開始 

                     回復:  少了一次循環   初始化不成功的。 

                     客戶說:  難道問題出在這里?我如果要改成for(i=0;i<20;i++) 這樣可以不?   

                     回復:  不可以的。

                   

                  5  客戶說:  我用J24D-B,實現這樣一個功能,一個單獨發射,一個接收。發射端發射不同數據,
                     接收端做出相應的動作。就像無線遙控器。 

                     回復:  可以的,我們網站有單發單收的例程,你可以下載。

                   

                   請問3.3VJF24D 待機電流為多少?

                     回復: 410uA ,你可以加休眠,休眠電流只有3.5uA。 定時喚醒就可以了。

                     客戶說:  power DOWN不就休眠了嗎? 

                     回復:  不是的,休眠和待機是不一樣的。

                     客戶說:  休眠如何做? 

                     回復: 掉電, 定時喚醒。記得先退出接受或發射模式。

                   

                  客戶說:2.4G JF24C模塊 我想讓模塊收到數據后清除數據區,怎么改,改那個寄存器?
                    現在情況是:我收發都正常,我想判斷發送是否斷開。這時接收沒法區分。 

                    回復:  你用的是24c 

                    客戶說:  是 

                    回復:  你要退出發射模式。 

                    客戶說:  能說的具體些嗎?怎么退出?

                    回復: enter_idle(); //進入空閑模式 write_spi_reg(REG82_RX); //FIFO 。
                    這就是退出的方法和清除fifo。

                   

                   8  客戶說:  現在遇到個問題,我要傳輸的數據長度是21個字節。發送的和接收的數據不一樣。 

                    01 10 10 00 3c 00 00 00 00 00 00 00 00 00 00 AA AA 00 34      
                   01 10 10 00 3C 00 00 00 01 00 01 00 01 00 00 00 00 00 01    

                    上面的一組是發送的,下面的一組是接收的 

                     前幾個字節是正確的,但是后面幾個就不對了 

                    回復:  我看下你的程序。 具體的程序。

                    客戶說:  我就是按照您那邊提供的程序。 我之前一直是收發的數據不超過10個字節

                    但是現在字節多了就出錯了,和寄存器設置有關系嗎? 

                    回復: 不超過32個字節是沒有關系的。 

                    客戶說:  //寄存器組0初始值   u8 RegArrFSK[][2]={   {0,0x0F}, //配置寄存器   
                    {1,0x3f}, //0x3f   {2,0x3F}, //使能接收地址   {3,0x03}, //信道的數據長度   {4,0xff},   {5,0x17}, //頻道選擇寄存器   {6,0x17},   {7,0x07}, //狀態寄存器 

                     回復: 你修改寄存器沒有?

                    客戶說:  #define MAX_PACKET_LEN 16 

                     修改這個   #define MAX_PACKET_LEN 100  

                     我把上面這個改成100了 

                   回復: 100 改成255  

                   


                  ?
                  安陽市新世紀電子研究所有限公司 電話:0372-5968708  豫ICP備05021267號-1  豫公安網備 41050202000031號
                  一区二区精品久久_国产毛片国语版手机在线_囯产目拍亚洲精品一页_亚洲AⅤ特级毛片_任我爽精品视频在线播放_精品久久久久中文字幕一区奶水