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

標題: nrf24l01在傳送數據中不時的跳出其他數字,是哪里出錯了么? [打印本頁]

作者: 喜歡你風雨無阻    時間: 2020-5-2 16:09
標題: nrf24l01在傳送數據中不時的跳出其他數字,是哪里出錯了么?
我用nrf24l01向另一塊單片機傳送一個含有5個數字的數組,然后用數碼管顯示,顯示中隔幾秒就會跳出數字35,這表示什么呀?我把中斷關了出現的頻率會低一些,但是后會跳出35.求解呀!

作者: 51hei**1140    時間: 2020-5-2 16:52
你好!
1、沒有程序
2、沒有硬件連接圖
3、不知道你要實現什么
4、更不知道怎么來找出問題
作者: 喜歡你風雨無阻    時間: 2020-5-18 23:09
51hei**1140 發表于 2020-5-2 16:52
你好!
1、沒有程序
2、沒有硬件連接圖

謝謝回復!!發那么多問題終于有人回復了,看到的有點晚,希望您有時間看到能夠再次回復。謝謝!
我想用一個單片機向另一個發送一組數據,然后用數碼管顯示出來,
//發射的主函數
void main(void)
{       
        char i=0;
        int x=0,y=0;
        unsigned char sta;
        delay_ms(1000);
        init_io();                //引腳初始化
        //delay_ms(1000);
        TX_Mode();
        while(1)
        {
                readadc(0,1);
                tx_buf[0]=ad1;
                tx_buf[1]=ad2;
                CE = 0;
          SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); //將數據送入發射緩沖區
                CE = 1;
                while(IRQ);
                sta=SPI_Read(STATUS);
                SPI_RW_Reg(FLUSH_TX, 0xff);                                                                                                        //清除發射緩沖區
                SPI_RW_Reg(WRITE_REG+STATUS,sta);                                                                                //清除各種中斷標志
                delay_ms(50);
               
        }
}

void readadc(unsigned char add1,add2)
{
        ad1=read_adc(add1);
        ad1=read_adc(add1);
        ad2=read_adc(add2);
        ad2=read_adc(add2);
}
/**************/
//接受端
void main(void)
{
        uchar sta;
       
        Timer1Init();
        Timer0Init();
        init_io();                                                                //初始化IO引腳
        delay_ms(1000);
        RX_Mode();                                                                //配置為接收模式
        while(1)
        {
                sta=SPI_Read(STATUS);                //讀取芯片的狀態寄存器
          if((sta & 0x40) != 0)                //是否發生了接收數據完成的中斷
          {                                                                                                //是的話,將收到的數據存到數組rx_buf里
                   SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);
                }
                if(rx_buf[4]==0x23&&rx_buf[0]!=35)//判斷收到的數據是不是0x23
                {       
                       
                        pwm_chage();
                        dpy_chage_display(rx_buf[0]/100,rx_buf[0]%100/10,rx_buf[0]%10,PWM/10,PWM%10,rx_buf[1]/100,rx_buf[1]%100/10,rx_buf[1]%10);
                }
                        SPI_RW_Reg(FLUSH_RX,0xff);        //清除接收緩沖器
                        SPI_RW_Reg(WRITE_REG+STATUS,sta);//清除接收中斷標志
                        delay_ms(2);
        }
}
void time0() interrupt 1
{
        dpy_display();
}





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1