找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1486|回复: 2
打印 上一主题 下一主题
收起左侧

上位机与NRF24L01发送,在中断中加入输入程序,运行几秒就会失效的原因

[复制链接]
跳转到指定楼层
楼主
ID:763482 发表于 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');
}                                                           */

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:763482 发表于 2021-5-7 18:15 | 只看该作者
写入中断以后程序运行几秒就失效,不写实现不了上位机,各位请帮帮忙
回复

使用道具 举报

板凳
ID:390416 发表于 2021-5-7 21:02 | 只看该作者
去这里下载NRF24L01的代码 https://pan.baidu.com/s/1HKoHDJSc9sxFTQvllo825g
提取码:1234
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表