欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3151|回復: 2
打印 上一主題 下一主題
收起左側

51單片機nRF24L01無線模塊遙控小車奇葩問題

[復制鏈接]
跳轉到指定樓層
樓主
求助 在用nRF24L01無線模塊做遙控小車中遇到一個奇葩的問題 我有兩個nRF24L01無線模塊 一發一收 還有一個USB轉nRF24L01無線模塊  
現已實現單片機與單片機  電腦與單片機的無線傳輸 遇到的問題如下:
電腦發送數據 01 02 03  (單片機2接收)
                                                   LED等分別亮1下   電機1和2 正轉
                                                    LED等分別亮2下   電機1和2 反轉
                                                     LED等分別亮3下   電機1 正轉  2停              基本能完成設計的目的測試成功,但是換成單片機來發射就遇到問題了,

單片機1發送數據 01 02 03  (單片機2接收)      LED等分別亮1下   電機不轉
                                                                           LED等分別亮2下   電機不轉
                                                                            LED等分別亮3下   電機不轉       指示燈正常  電機就是不轉

單片機1發射  電腦接收 數據也是正常的。
請大神指教一下這種情況是什么問題啊 ,按道理說接收端是獨立的 ,只管分辨接收到的數據是什么就能運轉,實在摸不著頭腦

IMG_1174.JPG (2.43 MB, 下載次數: 25)

無線模塊

無線模塊
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:370755 發表于 2018-12-6 09:26 | 只看該作者
硬件應該沒有問題,LED亮了。應該查下字符有沒有對上,電腦發的字符和單片機發送的字符,最好查看下發送的ascii碼。
回復

使用道具 舉報

板凳
ID:437993 發表于 2018-12-7 00:47 | 只看該作者
經過無數次調試 終于實現了單片機1通過nrf2401無線控制單片機2  控制兩個電機,可是為什么能成功完全不明白 請大神指教 程序
void main()
{
       uchar i, sdat;  
      此處聲明變量,就無法通過單片機1無線控制   但是在開頭聲明此兩個全局變量,把驅動電機子程序替換這個子程序的函數 就能實現單片機1的無線控制了 ,但是有個新問題,每個數據只能按一次,電機執行一次,再按就沒有反應了,單片機復位后又可以每個鍵控制一遍,,,,,求大神分析分析啊
        while(NRF24L01_Check()); //檢測到nrf2401才執行下一步
        NRF24L01_RT_Init();               
        while(1)
        {
                if(NRF_IRQ==0)                 // 如果接收到數據
                {               
                        if(NRF24L01_RxPacket(rece_buf)==0)//如果接受數據完成
                        {               
                        if(rece_buf[1]==1)  //如果收到數據是1
                        {
                                led=0;
                                delay(100);
                                led=1;     //led等閃一下
                            HC595SendData(0x18);驅動電機正轉的子程序
}}}        delay(100);}}                                            此程序只有用電腦發送數據才能將電機驅動 單片機1發射不行

void HC595SendData(uchar sdat)   //L293D·驅動電機正轉的子程序
{  
  uchar i;
                        for(i=0;i<8;i++)
   {
       SER = sdat>>7;         
       sdat= sdat<<1;      

        SCK = 1;         
        _nop_();
        _nop_();
        SCK = 0;   
                 
                    RCK=1;
              _nop_();
        _nop_();
              RCK=0;
   }                   
}

經過改了程序   刪除 HC595SendData(0x18);驅動電機正轉的子程序    在void main()主函數外聲明全局變量就可以了



回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表