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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • soibac2108
    Thành viên mới
    • Mar 2012
    • 10

    #1

    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 đỡ ạ!
  • diamond
    Banned
    • Jun 2013
    • 394

    #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

    • diamond
      Banned
      • Jun 2013
      • 394

      #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...