ผมต้องการให้ pic16f887 คุยกับ sd card ครับ

  • 4 Replies
  • 4940 Views
pic16f887 >> spi >> Module SD Card

หาและอ่านข้อมูลมาพอสมควร แต่ติดปัญญหาตรงใช้ FatFs ไม่ถูกครับ



ผมเขาใจว่าต้องสร้างส่วน low level ขึ้นมาเอง แต่ไม่ทราบว่าจะนำไปเชื่มต่อกับส่วน FatFs module ยังไงอะครับ

ขอบพระคุณล่วงหน้า ครับผม

*

Offline wlasoi

  • *****
  • 758
    • View Profile
 pic16f887 โดยขนาด Flash/Ram ค่อนข้างจำกัด กลัวว่า Ram มันจะไม่พอใช้งานอ่ยางอื่นด้วยสิ ครับ .. ถ้าทรัพยากร MCU ไม่พอไปใช้ Fat แบบ Chip สำเร็จจะดีกว่า ..

*

Offline dec

  • **
  • 80
    • View Profile
sd card สมัยนี้ block size ขั้นต่ำมักจะอยู่ที่ 512 bytes ครับ pic16 มีแรมอยู่ที่ราวๆ 300 กว่า bytes เอง แค่บัฟเฟอร์สำหรับพักข้อมูลจาก sd card มันก็ไม่พอแล้วครับ ควรเปลี่ยนชิปไปใช้ pic18 หรือ pic24 ที่มีแรมอย่างน้อย 8Kbytes ครับ

ส่วนไฟล์ lowlevel มันมี template ไว้ให้แล้วครับชื่อไฟล์ diskio.c

ในไฟล์ lowlevel มันจะมี function ตามนี้

Code: [Select]
disk_status - Get device status
disk_initialize - Initialize device
disk_read - Read sector(s)
disk_write - Write sector(s)
disk_ioctl - Control device dependent functions
get_fattime - Get current time

FatFs มันจะเรียกฟังก์ชั่นตามนี้เท่านั้น หน้าที่เราคือไปเขียน 6ฟังก์ชั่นนี้ไว้ มันเชื่อมชั้น lowlevel ผ่านไฟล์ diskio.h ไว้แล้ว

แต่สำหรับ pic24 มันมีตัวอย่างไว้ให้แล้ว ไปโหลดที่เว็บของ fatfs ได้เลย

ผมได้ตั้งกระทู้ถามมามากมายหลายกลุ่ม แต่ก็มีกลุ่มนี้แหละครับที่รู้สึกได้ว่าจริงใจต่อการให้ความช่วยเหลือมากที่สุด

ผมคิดว่านี้คือเหตุผลหนึ่งที่ทำให้กลุ่มนี้ได้รับความนิยม

ขอบพระคุณทุกท่าน มากๆ ครับ

ผมกำลังหาวิธ๊อยู่ดีเลยครับว่าควรจะทำไงดี หาไม่ได้เลยเหมือนที่เจ้าของกระทู้บอกเลยครับ