Thông báo

Collapse
No announcement yet.

helpNhờ các bác xem giúp code truyền nhận dữ liệu của e vơi!!!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • helpNhờ các bác xem giúp code truyền nhận dữ liệu của e vơi!!!

    tình hình là e có 1 đoạn code thế này mà khi nhận dữ liệu thì nó nhảy vào làm trong ngắt nhưng mãi mà new_sms e ko lên bằng 1 mà cứ làm hoài dem++,các bác giúp e với!khi gửi dữ liệu đến nó sẽ new_sms e cần là 1 để thực hiện lệnh ở dưới! các bác cho e hỏi thêm '\r' là sao e chưa hiểu?
    #include <16f877a.h>
    #device PIC16F877A*=16 ADC=10
    #include <string.h>
    #include <lcd_lib_4bit.c>
    #fuses nowdt,hs,noput,noprotect,nodebug,nobrownout,nolvp, nocpd,nowrt
    #use delay(clock=12000000)
    #use fast_io(b)
    #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
    char chuoi[90];
    int8 dem,new_sms,z,x,adc,f;
    /*********** Khai bao ngat nhan noi tiep ***********/
    #INT_RDA
    void ngat()
    {
    chuoi[dem]=getc();
    if(chuoi[dem]=='\r')
    {
    z++;
    if(z==2)new_sms=1;
    }
    dem++;
    }
    void main()
    {

    enable_interrupts(global);//Cho phep ngat toan cuc
    enable_interrupts(int_rda);//Cho phep ngat nhan noi tiep
    setup_adc(ADC_clock_internal); // thiet lap tan so lay mau ADC
    setup_adc_ports(AN0); // ngo vao A0
    set_adc_channel(0); // chan doc gia tri adc bang read_adc()

    LCD_init(); //khoi tao LCD
    Printf(LCD_putchar," DKTB QUA SMS ");
    LCD_putcmd(0xC0);Printf(LCD_putchar,"Dang cau hinh ");delay_ms(1000);
    LCD_putcmd(0xC0);Printf(LCD_putchar,"Cau hinh xong ");delay_ms(2000);
    new_sms=0;
    z=0;
    while(1)
    {
    signed int16 x;
    signed int16 adc;
    x=read_ADC();
    adc=x/2; // do C
    f=adc*1.8+32; // do F
    LCD_putcmd(0x01);// xoa man hinh chi thi
    LCD_putcmd(0x80);Printf(LCD_putchar," Nhiet do phong ");
    LCD_putcmd(0xC0);Printf(LCD_putchar,"%u",adc);LCD_ putcmd(0xC0+4);Printf(LCD_putchar,"C");
    LCD_putcmd(0xC0+8);Printf(LCD_putchar,"%u",f);LCD_ putcmd(0xC0+12);Printf(LCD_putchar,"F");
    if(new_sms==1)
    {
    LCD_putcmd(0x01);// xoa man hinh chi thi
    LCD_putcmd(0x80); Printf(LCD_putchar,"Co tin nhan moi ");
    LCD_putcmd(0xC0); Printf(LCD_putchar,"Dang xu ly");
    puts("at+cmgr=1");
    delay_ms(500);
    LCD_putcmd(0x01);// xoa man hinh chi thi
    delay_ms(200);
    puts("at+cmgd=1");
    delay_ms(500);
    }}}
    email
    nick: bangbigboy_bigboy
    sdt :01203380789

  • #2
    chẳng ai giúp e akk!!!!..hjchjc !!!
    email
    nick: bangbigboy_bigboy
    sdt :01203380789

    Comment


    • #3
      do nó chưa nhận được kí tự '\r' nên new_sms ko bằng 1 được đó bạn, bạn kiểm tra trên máy tính truyền xuống đúng là kí tự \r chưa, \r trong c có nghĩa là đưa con trỏ về đầu dòng nó có mã ascii là 13(0x0d), bạn kiểm tra xem bạn truyền qua cổng COM đúng là mã 13 chưa.

      Comment

      Về tác giả

      Collapse

      hieuthai2011 Tìm hiểu thêm về hieuthai2011

      Bài viết mới nhất

      Collapse

      • Andrea14
        Vấn đề về tốc độ quay
        bởi Andrea14
        Chào mọi người,

        Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
        hôm nay, 12:42
      • bqviet
        Trả lời cho Đấu tắt điện cho máy tính bảng
        bởi bqviet
        Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
        06-12-2025, 17:17
      • nguyendinhvan
        Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
        bởi nguyendinhvan
        Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
        05-12-2025, 19:59
      • afrendly
        Trả lời cho Đấu tắt điện cho máy tính bảng
        bởi afrendly
        Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
        04-12-2025, 01:27
      Đang tải...
      X