![]() |
Giao Tiếp SPI Giữa PIC & EEPROM
Mình đang tìm hiểu về truyền nhận SPI giữa PIC33F với EEPROM AT25F4096, ai đã từng nghiên cứu về cái này chỉ cho mình giải thuật giao tiếp với ?
|
1 Attachment(s)
Dưới đây là mạch nguyên lý kết nối giữa dsPiC33F và EEPROM. Giải thuật mình viết như thế này, không biết bị sai sót gì mà chương trình ko chạy đúng,các bạn giúp đỡ với
-Các hàm con cho giao tiếp SPI: 1. cấu hình SPI:Mode master,mode 8-bit,enable SPI, set Interrupt,... 2. ReadSPI1() : Trả về 1 byte dữ liệu từ Thanh ghi đệm SPI1BUF 3. WriteSPI1(data): Viết dữ liệu lên thanh ghi đệm 4. ReadsSPI1(): Đọc một chuỗi byte 5. WritesSPI1(): VIết một chuỗi byte -Các hàm con cho giao tiếp với eeprom: 1. Write_enable: cho phép viết dữ liệu lên eeprom 2. Read_EEPROM: bao gồm Write_enable WriteSPI1(READ) (opcode cho phép đọc) WriteSPI1(Add) // viet dia chi EEPROM cần đọc (dia chi EEPROM 3 bytes-viet 3 lần) ReadSPI1() // Trả về dữ liệu cần đọc 3. Write_EEPROM: Write_enable WriteSPI1(WRITE) (opcode cho phép ghi) WriteSPI1(Add) // viet dia chi EEPROM can ghi WriteSPI1(data); Wait_SPI(); // Wait for Write to Complete |
Mình cũng đang vướng mắc đoạn truyền - nhận nhiều byte 1 lúc, mình dùng AT25DF041A, con này có chức năng ghi và đọc + chế độ tự động tăng địa chỉ. .. Chưa biết dùng thế nào. . Ai từng làm rồi vào giúp . . . help
|
Múi giờ GMT. Hiện tại là 06:46 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam