Thông báo

Collapse
No announcement yet.

Hỏi về lưu dữ liệu vào eeprom của ATmega8?

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

  • Hỏi về lưu dữ liệu vào eeprom của ATmega8?

    Em có đoạn code ghi đọc dữ liệu eeprom như sau:
    void ghi(unsigned int uiAddress, unsigned char ucData)
    {
    /* Cho viev hoan thanh ghi truoc */
    while(EECR & (1<<EEWE))
    ;
    /* DAT DIA CHI VA DU LIEU DANG KY */
    EEAR = uiAddress;
    EEDR = ucData;
    /* GHI TUNG BIT VAO EEMWE */
    EECR |= (1<<EEMWE);
    /* Start eeprom write by setting EEWE */
    EECR |= (1<<EEWE);
    }
    //=================DOC TU BO NHO================
    unsigned char doc(unsigned int uiAddress)
    {
    /* Cho viev hoan thanh ghi truoc */
    while(EECR & (1<<EEWE))
    ;
    /* DAT DIA CHI VA DU LIEU DANG KY */
    EEAR = uiAddress;
    /* BAT DAU DOC TU EERE */
    EECR |= (1<<EERE);
    /* TRA VE DU LIEU DA DUOC DANG KY */
    return EEDR;
    }

    Khi em ghi dữ liệu có giá trị x<256 và đọc nó ra thì kết quả trả về đúng giá trị x ban đầu lưu. Nhưng khi em ghi giá trị x>256 thì kết quả trả về = x-256*n. Em muốn hỏi làm thế nào để em lấy ra được đúng giá trị x ban đầu lưu vào. Em mới tìm hiểu về avr, mong mọi người giúp đỡ ạ!

  • #2
    bạn có tài liệu nói về đọc ghi eprom không cho mình xin mình xin với

    Comment


    • #3
      bạn cho mình hỏi while(EECR & (1<<EEWE)) có ngĩa là gì 1<<EEWE là gì

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X