PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp USB, CAN, I2C, SPI, USART... (http://www.picvietnam.com/forum/forumdisplay.php?f=45)
-   -   giao tiep voi sd card (http://www.picvietnam.com/forum/showthread.php?t=4161)

kokoro 29-03-2010 01:28 PM

Trích:

Nguyên văn bởi tahi (Post 32985)
Link dientuvietnam
http://www.dientuvietnam.net/forums/...ad.php?p=99791
Down bộ Microchip Solution rồi vào C:\Microchip Solutions\Microchip\MDD File System\Documentation
tìm tài liệu AN1045, có nói khá base về FAT....

Ai có thể gửi cho e cái link download thằng này không? Vì em qua bên dientuvietnam nhưng tìm không thấy link download như bác nói

bien_van_khat 29-03-2010 03:54 PM

http://www.microchip.com/stellent/id...cName=en537044

link tải ở gần cuối trang

kokoro 02-04-2010 12:06 PM

- Mấy anh đã làm về sd card rồi cho em hỏi, mua cái đế cắm sd card ở đâu vây? Em ra chợ Nhật Tảo kiếm nhưng không có. Thank!

greenfield 02-04-2010 03:31 PM

Bạn qua Thiên Minh ấy muốn bao nhiêu cũng cóa.hehe

truongtam2008 29-04-2010 09:53 AM

Help
 
Các bác ơi! có bác nào biết chỗ mua con dspic33Fj256GP802 không thế! em đang cần lắm!

lybao_huy 05-05-2010 11:10 PM

Tôi đang làm SD Card tất cả đều tốt chỉ có lúc gửi lệnh xóa CMD32=địa chỉ đầu và CMD33=địa chỉ cuối và sau đó nhận đáp ứng từ Card thì ổn cả, sau đó tiếp tục gửi lệnh ghi đơn khối CMD24 thì đáp ứng nhận được là 0x02==ERASE_RESET, tôi đọc nó nó viết như sau:(tôi không hiểu ý nghĩa của nó)
1-Erase reset—An erase sequence was cleared before executing because an out of erase sequence command was received.
2-If an out of sequence command (except SEND_STATUS) is received, the card shall set the ERASE_RESET status bit in the status register, reset the erase sequence and execute the last command.

Mong các bạn giải thích dùm.

bien_van_khat 06-05-2010 09:24 AM

Trích:

Nguyên văn bởi lybao_huy (Post 35725)
Tôi đang làm SD Card tất cả đều tốt chỉ có lúc gửi lệnh xóa CMD32=địa chỉ đầu và CMD33=địa chỉ cuối và sau đó nhận đáp ứng từ Card thì ổn cả, sau đó tiếp tục gửi lệnh ghi đơn khối CMD24 thì đáp ứng nhận được là 0x02==ERASE_RESET, tôi đọc nó nó viết như sau:(tôi không hiểu ý nghĩa của nó)
1-Erase reset—An erase sequence was cleared before executing because an out of erase sequence command was received.
2-If an out of sequence command (except SEND_STATUS) is received, the card shall set the ERASE_RESET status bit in the status register, reset the erase sequence and execute the last command.

Mong các bạn giải thích dùm.

1 - Để xóa một số sector bạn phải gửi CMD38 sau khi gửi CMD32 và CMD33
2 - Nếu bạn muốn ghi một hoặc nhiều sector bạn dùng CMD24 hoặc CMD25. Chú ý là thao tác ghi đã bao gồm thao tác xóa. Bạn ko cần phải yêu cầu xóa bằng CMD38 trước.

lybao_huy 06-05-2010 10:33 AM

oh, cảm ơn bạn rất rất nhiều, từ lúc mình nghiên cứu Dspic với Mplab C bạn giúp mình rất nhiều, trên nền tảng giúp đỡ của bạn mình cảm thấy việc tự học thấy rất dễ dàng. Xin cảm ơn bạn rất nhiều

bien_van_khat 06-05-2010 12:45 PM

you're welcome! :D

lybao_huy 18-05-2010 12:36 PM

Tôi đang thắc mắc về việc Format thẻ nhớ MicroSD có hay không có Master Boot Record. Tôi có đọc thanh ghi CSD của cả 2 thẻ 512MB và 1GB và tìm được 2 trường:
-FILE_FORMAT_GROUP=0
-FILE_FORMAT=0
từ đó suy ra là "Hard disk-like file system with partition table " nguyên văn trong Spec của MicroSD.
thế nhưng khi dùng WinHex để xem thì thấy chỉ có thẻ 1GB là có MBR còn thẻ 512 thì chỉ có Boot Sector không có MBR. Vậy thì câu hỏi đặt ra là làm sao đọc thẻ trên hệ thống nhúng mà ta không hề biết là có MBR hay không, vì nếu không có MBR lúc format trong khi ta lại đọc thanh ghi CSD lại báo là có MBR thì chúng ta đọc Boot Sector lại cứ tưởng là đang đọc MBR.
Xin các bạn giải thích dùm với. Mình viết Driver với định dạng FAT16 cho thẻ SD gần xong rồi nhưng lại dính cái bệnh này thật khổ

bien_van_khat 18-05-2010 01:02 PM

Bạn chỉ cần đọc sector 0, kiểm tra xem nó là MBR hay bootsector, vì cấu trúc của MBR và bootsector khác nhau.

lybao_huy 18-05-2010 01:48 PM

vậy là chỉ có cách là đọc sector 0 để biết có MBR hay không?có vẻ hơi mệt đấy.
Cảm ơn bạn nhiều.

lybao_huy 18-05-2010 07:15 PM

Tôi dùng MPLAB IDE ver 8.46. tôi có 3 file h.c, g.h, main.c:
1-h.c chứa hàm unsigned long cal1():
unsigned long cal1(){
return 125100;
}
2-g.h chứa hàm unsigned long cal2().
unsigned long cal2(){
return 125100;
}
3-có 2 trường hợp:
3a- main.c chứa lệnh cal2() và in giá trị 125100 lên màn hình.
3b-main.c chứa lệnh cal1() và in giá trị không chính xác lên màn hình nếu giá trị này lớn hơn 32767.

xin các bạn giải thích dùm

lybao_huy 01-06-2010 10:02 PM

cho mình hỏi cái này với: READ_BL_PARTIAL=1 means that smaller blocks can be used as well. The minimum block size will be equal to minimum addressable unit (one byte) và Single Block Mode : The block length for read operations is limited by the device sector size (512 bytes) but can be as small as a single byte. vậy nếu muốn đọc 10 byte thì phải làm sao, chỗ này mình làm theo nhưng không được

dtvtb 17-06-2010 02:46 AM

Xin hỏi mấy huynh trong Root Directory(RD) của FATcó chỗ nào phân biệt Directory nào là cha,Directory nào la con.
Em tìm hiểu cái này thì thấy specific nó ghi 32 bytes cho 1 entry trong RD,nó đề cập đến
khá nhiều khía cạnh:byte phân biệt file và folder,tên file,thời gian tạo....
Nhưng làm sao để phân biệt Directory nào là cha,Directory nào la con thì em đuối...
Mong trợ giúp !


Múi giờ GMT. Hiện tại là 02:23 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam