Thông báo

Collapse
No announcement yet.

Lưu Data vào Flash

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

  • Lưu Data vào Flash

    Có ai biết cách lưu trữ dữ liệu vào Flash không. Tui dùng ATMega32 chỉ có 1K EEPROM thôi bây giờ muốn lưu nhiều hơn thì phải thêm ROM ngoài nhưng tui thấy bộ nhớ Flash còn trống nhiều quá nên có ý định dùng để lưu dữ liệu nhưng không biết thanh ghi nào hổ trợ cho việc đọc ghi Flash.
    mong các bác chỉ dùm. Thank!

  • #2
    xem qua cái này

    Comment


    • #3
      Lưu data vào Flash

      Bạn hiểu lầm ý mình rồi. Ý mình là làm cách nào để lưu data vào bộ nhớ Flash trong con AVR đó (bộ nhớ chương trình) thay vì phải gắn thêm ROM ngoài (trong trường hợp EEPROM không đủ). Tuy nhiên bài viết của bạn cũng hay nhưng toàn là hình không mình không hiểu. bạn có tài liệu gì về mạch trên không hay là tài liệu về Card nhớ cũng được thì cho mình xin với.
      Thank!

      Comment


      • #4
        Không biết bác đang dùng chương trình gì để lập trình AVR. Nếu dùng CodeVisionAVR thì có thể dùng cú pháp sau để khai báo biến trong flash:

        flash int <ten_bien>; // Không biết tui nhớ chính xác kô nữa

        Bác nên đọc thêm datasheet thử xem
        Sống và làm việc theo gương Bác Hồ vĩ đại

        Comment


        • #5
          Flash

          Nếu như vậy thì mỗi lần cấp điện hoặc reset chương trình sẽ tạo một biến trong flash do đó dữ liệu sẽ thay đổi. Tui muốn dùng Flash như EEPROM để lưu dữ liệu mà chỉ thay đổi khi nào cần thiết thôi.

          Comment


          • #6
            Neu bac dung WinAVR thi doc file libc-manual, phan FAQ ay. Day du lam!

            Vote hộ tớ với. Thanks!

            Comment


            • #7
              Bác thử đọc datasheet phần memory programming
              Sống và làm việc theo gương Bác Hồ vĩ đại

              Comment


              • #8
                Trong dòng Atmega (không phải AVR cũ) có chức năng self programming cho phép runtime ghi dữ liệu vào code segment. các bootloader thường dùng để nạp phần mềm. Bạn tìm đọc dòng họ ATMEGA sẽ có. Dùng ASM cho nhanh.
                Website:

                Forum:

                Comment


                • #9
                  Bác tham khảo ở đây thử xem http://avr.want24h.com/AVR_Applicati...ash_Memory.pdf
                  Sống và làm việc theo gương Bác Hồ vĩ đại

                  Comment


                  • #10
                    Cái board trong hình là cái kit phát triển của chính hảng Atmel giá nó là 170USD lận . Làm không được đâu . Nếu muốn làm thì nên tỉm hiểu kỹ về cấu trúc FAT ( thật kỹ ( . Còn cái đế CF thì mua cái đầu reader (đầu đọc thẻ đó ) đục ra lấy cái đế (hìh hì ) nghiên cứu mà phải chịu thôi !
                    Mạch nạp Little Programmer
                    MSC-51,AVR,EEPROM ... etc

                    Site Fukusei shop :

                    Comment


                    • #11
                      Nguyên văn bởi tam1234
                      Nếu như vậy thì mỗi lần cấp điện hoặc reset chương trình sẽ tạo một biến trong flash do đó dữ liệu sẽ thay đổi. Tui muốn dùng Flash như EEPROM để lưu dữ liệu mà chỉ thay đổi khi nào cần thiết thôi.
                      Biến khai báo kiểu flash trong CodeVision không phải như bạn nói là nó sẽ tạo biến như các biến thông thường. Biến flash thực chất là một biến có địa chỉ gán vào vùng flash, trình biên dịch sẽ gán cứng vị trí này và khởi tạo giá trị ban đầu của nó. Giá trị ban đầu này không thể thay đổi bởi chương trình (không thể sử dụng lệnh gán cho biến flash để thay đổi nội dung).
                      VD:
                      flash int a = 12;
                      thì giá trị 12 luôn không đổi trong suốt quá trình hoạt động của chương trình

                      Cách duy nhất để thay đổi nội dung của FLASH đó là sử dụng lệnh SPM (store program memory) nhưng đoạn mã thực hiện lệnh SPM này bắt buộc phải nằm trong vùng nhớ BootLoader.

                      Comment


                      • #12
                        Nếu dùng codevision thì chịu ! mình viết bằng asm nên viết cực nhưng dung lượng chương trình tinh giảm tối da ! còn hiểu biết nhiều nữa ! Ai xài codevision thì chẳng bao giờ biết được cấu trúc Fat hoạt động ra sao ! hì hi
                        Mạch nạp Little Programmer
                        MSC-51,AVR,EEPROM ... etc

                        Site Fukusei shop :

                        Comment


                        • #13
                          Tôi rất thích người có khả năng và tư duy viết bằng ASM tốt.

                          Comment


                          • #14
                            ASM tuy khó học nhưng khi đã giao tiếp xong với con nào thì Ok . Chuyển wa con VDK khác thì cũng ok chẳng sao cả ? Còn viết bằng C+ đa số đã có sẵng không kích thích trí sáng tạo nhiều và không có tính linh động ! Mình đã viết được chương trình tính toán 16bit rồi nên không cần dùng c làm gi cho tốn không gian nhớ !
                            Mạch nạp Little Programmer
                            MSC-51,AVR,EEPROM ... etc

                            Site Fukusei shop :

                            Comment


                            • #15
                              có thể dùng chuong trình funmagic để nạp ct vào flash., với đk nạp qua các chân MOSI, MISO, Vcc, VGD., mạch nạp thì đơn giản rồi phải không

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X