找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1929|回復: 2
收起左側(cè)

上位機與NRF24L01發(fā)送,在中斷中加入輸入程序,運行幾秒就會失效的原因

[復制鏈接]
ID:763482 發(fā)表于 2021-5-7 18:14 | 顯示全部樓層 |閱讀模式
#include "reg52.h"
#include "main.h"
#include "nRF24L01.h"
#include "distance_measure.h"
#include "uart.h"
uint num=0;

code char lcd_line0[]="LOCX:           ";
code char lcd_line1[]="LOCY:           ";
//STC89ÏμáDμ¥Ƭ»úÑóê±1ms
void delay_ms(unsigned int x)
{
        char j=0;
        while(x--)
                for(j=0;j<125;j++)
                        ;
}

//Ö÷3ìDò
void main()
{
        delay_ms(200);
        SetTX_Mode();                   //·¢Ëí
        uart_init();
        delay_ms(200);
        while(1)
        {
                num=get_distance();        
                uart_send_JW(num);
                 TxBuf[31] = '0' + num;  
                 TxBuf[30] = flag_jj;   
     flag_jj=0;
                nRF24L01_TxPacket(TxBuf);
        
        }
}
#include "uart.h"
char flag_u = 0;  
int temp = 0;
char flag_jj = 0;               

//¾§Õñ11.0592MHz
void uart_init()                                                                     
{
        SCON = 0X50;
        REN  = 1;   
        PCON = 0x00;
    TMOD &= 0x0F;
        TMOD |= 0x20;
        TH1  = 0xFD;  
        TL1  = 0xFD;
        TR1  = 1;   
        EA   = 1;   
        ES   = 1;      
}


void RECEIVE_DATA(void) interrupt 4 using 3                          
{         
        temp = SBUF;
        if(temp=='1')
        {
                 flag_jj='1';
  }
        else if (temp=='2')
        {
                 flag_jj='2';
        }
        RI = 0;        
        flag_u=1;
}

void uart_send_char (unsigned char chr)
{
        ES = 0;
         SBUF= chr;        
        while(!TI);
        TI=0;  
        ES = 1;
        flag_u=0;                                       
}
void uart_send_JJ(long num_1)
{
        uart_send_char('J');
        uart_send_char('J');
        uart_send_char('=');
        uart_send_char('0'+((long)num_1/10)%10);
        uart_send_char('0'+((long)num_1/1)%10);
        uart_send_char(' ');
}
void uart_send_QQ(long num_2)
{
        uart_send_char('Q');
        uart_send_char('Q');
        uart_send_char('=');
        uart_send_char('0'+((long)num_2/10)%10);
        uart_send_char('0'+((long)num_2/1)%10);
        uart_send_char(' ');
}  
void uart_send_JW(long num_3)
{
        uart_send_char('Y');
        uart_send_char('W');
        uart_send_char('=');
        uart_send_char('0'+((long)num_3/100)%10);
        uart_send_char('0'+((long)num_3/10)%10);
        uart_send_char('0'+((long)num_3/1)%10);
        uart_send_char('\r');
        uart_send_char('\n');
}                                 
/*void uart_send_long(long num)
{
        uart_send_char('Y');
        uart_send_char('W');
        uart_send_char('=');
//        uart_send_char('0'+((long)num/1000000)%10);
//        uart_send_char('0'+((long)num/100000)%10);
//        uart_send_char('0'+((long)num/10000)%10);
//        uart_send_char('0'+((long)num/1000)%10);
//        uart_send_char('0'+((long)num/100)%10);
        uart_send_char('0'+((long)num/10)%10);
        uart_send_char('0'+((long)num/1)%10);
//        uart_send_char('.');
        uart_send_char('\r');
        uart_send_char('\n');
}                                                           */

回復

使用道具 舉報

ID:763482 發(fā)表于 2021-5-7 18:15 | 顯示全部樓層
寫入中斷以后程序運行幾秒就失效,不寫實現(xiàn)不了上位機,各位請幫幫忙
回復

使用道具 舉報

ID:390416 發(fā)表于 2021-5-7 21:02 | 顯示全部樓層
去這里下載NRF24L01的代碼 https://pan.baidu.com/s/1HKoHDJSc9sxFTQvllo825g
提取碼:1234
回復

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

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