Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
- FAT16, FAT32 là gì?
FAT = File Allocation Table: Bảng phân bố dữ liệu. Đối với FAT16, người ta dùng 16bit = 2byte để lưu ảnh của một file bất kỳ trên vùng dữ liệu vào bảng FAT. Còn đối với FAT32, người ta dùng 32 bit. Như vậy rõ ràng rằng, với 16bit, dung lượng hỗ trợ sẽ bé hơn nhiều lần so với FAT32.
- Cấu trúc ổ cứng gần như giống hoàn toàn với MMC và SD, đều chia thành những sector, từ sector 0 đến sector xxxxxxx. (Mỗi sector = 512byte). Trong đó:
Sector 0 là MBR: Master Boot Record
Nếu đọc được sector này, các bác sẽ đọc được PBR ở đâu (sector thứ mấy), .v.v..v
Giả dụ Sector x là PBR: Partion Boot Record
Đọc sector này, các bác sẽ biết bảng FAT ở đâu, dung lượng (tính theo sector) là bao nhiêu; Root Entry ở đâu, gồm bao nhiêu entry, vùng dữ liệu tính từ sector nào....v.v.
Vậy giả thiết tôi muốn đọc một file tên là MT.txt trên ổ cứng thì thao tác sẽ là:
Tôi di chuyển đến Root Entry. Vùng này chứa thông tin về file trên ổ, kể cả file đã xóa. Tôi đọc từng entry, mỗi entry 32byte, so sánh tên trong mỗi entry với "MT". Nếu có, tôi sẽ đọc tiếp vùng bắt đầu (sector bắt đầu) của file là bao nhiêu, file đã xóa hay chưa. Giả thiết ổn cả, tôi sẽ nhảy đến sector của vùng bắt đầu file và tiến hành đọc file này. Dữ liệu sẽ có dạng hex. Nhưng đối với file txt, các bạn có thể chuyển sang ASCII.
Câu hỏi sẽ là: khi nào thì biết file kết thúc, chả nhẽ cứ đọc một lèo sao? Trong root entry có cả điểm bắt đầu file và kết thúc file.
Cần phân biệt có 2 kiểu ghi file lên thẻ. Ghi tuyến tính tức là ghi từ sector x, đến x+1... Và ghi kiểu frag, cứ chỗ nào có cluster trống thì ghi. Đối với ghi tuyến tính, ta dễ thực hiện và chỉ cần đọc từ sector bắt đầu đến sector cuối. Còn đối với ghi frag, hết 1 cluster ta phải đọc FAT để biết xem cluster tiếp theo nằm ở đâu, cho đến khi nào trên bảng fat có cluster kết thúc.
Đối với người bắt đầu, ghi tuyến tính không phải là quá khó và đơn giản về mặt quản lý hơn là frag....
làm sao tìm được sector tiếp theo của file MT.txt từ bản FAT hả bạn. xin cứu
Xin chào tất cả mọi người và chào riêng bạn yankazaz để cảm ơn bạn về những thông tin rất hữu ích cho những ai muốn tìm hiểu giao tiếp MMC và UC. Mình cũng đang tìm hiểu về MMC giao tiếp AVR, theo hướng dẫn của bạn yankazaz mình đã khởi tạo MMC thành công nhưng mình gặp trục chặc khi ghi data vào 1 block. Mình không hiẻu quy trình check respond 0x05 như thế nào. Bạn có thể post một đoạn chương trình đã chạy để ghi data vào 1 block của MMC để mình học hỏi được không? Thanks bạn rất nhiều
mình cũng đang bí như bạn ,mong bác nào làm rồi hướng dẫn lại ,cám ơn
chào các pác,mình đang có trong tay 1 thẻ MMC mà theo định dạng RAW.mình ko thể giao tiếp với máy tính.mình muốn đọc các sector bên trong nó thì phải lam sau.mong các pác giúp với.thanks
mình cũng đang bí như bạn ,mong bác nào làm rồi hướng dẫn lại ,cám ơn
Giao tiếp MMC/SDC không khó, chỉ khó là phải ghi kiểu gì để khi cắm vô máy tính thì máy đọc được thôi.
Mới đây tôi đã làm thành công đọc ghi nhiều file excel(normal name, long file name)theo các định dạng FAT12(thẻ 16Mb),Fat16(thẻ 256Mb) và Fat32(thẻ 1Gb). Làm xong rồi thấy chả có gì để quan tâm, luồn này có anh bạn keo BVH hỏi hoài không chỉ, chán wa tôi mất 2 tuần cho vấn đề này và cuối cùng cũng thành công khekhe
Khi ghi 1 block data thì MMC sẽ đáp ứng lại 1 byte mà ta chỉ cần check 5bit cuối thôi nếu =0x05 thì viêc ghi thành công, thế thôi còn khác 0x05 thì có lỗi ta nên ghi lại data đó
Chào bạn bvhoang, mình thấy module FM32 của bạn rất hay và mình cũng đang cần một cái để thử giao tiếp với MMC/SD. Bạn bán bao nhiêu một bộ, mình đã gửi mail cho bạn mà không thấy reply, mình ở Hà Nội.
Tôi đã đọc ghi Fat32 cho MMC và SDC, nếu bạn cần giao tiếp MMC/SDC qua RS23 để đỡ thời gian ngâm cứu thì có thể liên hệ tôi đặt mạch. tien_huy19@yahoo.com
Giao tiếp MMC/SDC không khó, chỉ khó là phải ghi kiểu gì để khi cắm vô máy tính thì máy đọc được thôi.
Mới đây tôi đã làm thành công đọc ghi nhiều file excel(normal name, long file name)theo các định dạng FAT12(thẻ 16Mb),Fat16(thẻ 256Mb) và Fat32(thẻ 1Gb). Làm xong rồi thấy chả có gì để quan tâm, luồn này có anh bạn keo BVH hỏi hoài không chỉ, chán wa tôi mất 2 tuần cho vấn đề này và cuối cùng cũng thành công khekhe
Khi ghi 1 block data thì MMC sẽ đáp ứng lại 1 byte mà ta chỉ cần check 5bit cuối thôi nếu =0x05 thì viêc ghi thành công, thế thôi còn khác 0x05 thì có lỗi ta nên ghi lại data đó
bạn nói thế thì ngắn gọn khó hiểu quá ,bạn có thể chỉ chi tiết được không?
theo tôi nghĩ để ghi vào mmc
- mcu gởi command ghi tới mmc gồm có 5 byte
- mmc gởi tiếp 2 byte ff để nhận reponse từ thẻ nhớ nếu nhận được 0x00 là ok còn không thì lỗi
-mmc gởi startbyte là 0xfe sau đó gởi tiếp 512 dữ liệu cần ghi vào mmc
-mcu gởi tiếp 1 hay 2 byte 0xff gì đó để nhận data reponse từ mmc nếu là 0x05 là ok
tôi đang tìm hiểu nên chắc là có nói sai ,bạn nào làm rồi chỉ lại cho anh em tí nhưng chi tiết dùm
cho mình hỏi với, khi giao tiếp với thẻ nhớ thì dữ liệu được ghi lên thẻ nhớ có dạng là gì?
ý mình hỏi dạng là âm thanh, hình ảnh hay văn bản... hay các loại khác.
để thành dạng văn bản thì phải lập trình như thế nào?
mình muốn nói ở quá trình ghi dữ liệu lên thẻ nhớ. ví dụ như ở một hệ thống kiểm tra nhiệt độ tại một nơi nào đó, mà ta cần ghi lại nhiệt độ tại các thời điểm khác nhau thì dữ liệu được ghi lên thẻ nhớ có dạng là gì?
mình muốn nói ở quá trình ghi dữ liệu lên thẻ nhớ. ví dụ như ở một hệ thống kiểm tra nhiệt độ tại một nơi nào đó, mà ta cần ghi lại nhiệt độ tại các thời điểm khác nhau thì dữ liệu được ghi lên thẻ nhớ có dạng là gì?
Tốt nhất là bạn nên ghi theo file excel thì rõ ràng nhất.
Bạn tính trung bình mỗi lần ghi thì tốn bao nhiêu byte và nhân lên theo số lần ghi. VD bạn tạo 1 file có dung lượng là 1M nhưng trong file đó không chứa gì cả, và lúc này bạn chỉ việc ghi nội dung vào file 1M đó là xong, tính thử ghi bao nhiêu lần thì hết 1M rồi tạo File khác cũng 1M. Với thẻ nhớ 4GB thì ghi tới luc cháy mạch vẫn chưa hết đâu nhỉ . Tôi đã làm theo phương án này rồi và thấy cũng khả thi. Chúc bạn thành công
Thẻ MMC có 7 chân, thẻ SD có 9 chân ( file đính kèm ). Bác nào làm rồi xin cho biết 2 chân còn lại (8,9) của SD nối vào đâu nhỉ. Bác có sơ đồ thì Post lên cho tui xem với.
Thẻ MMC có 7 chân, thẻ SD có 9 chân ( file đính kèm ). Bác nào làm rồi xin cho biết 2 chân còn lại (8,9) của SD nối vào đâu nhỉ. Bác có sơ đồ thì Post lên cho tui xem với.
Thank
2 chân này không nối vào đâu hết bạn à. Bạn có thể tham khảo 1 sơ đồ bên dưới mà mình vẽ.
Thân.
thực ra em thấy giao tiếp với thẻ nhớ SD và MMC thì chỉ cần dùng chuẩn SPI là giao tiếp được
giao tiếp thẻ nhớ với VDK thì cứ tuân theo chuẩn giao tiếp SPI thôi. nhưng còn mấy vấn đề thế này mong mọi người giúp em một chút
các lệnh cơ bản để giao tiếp với thẻ nhớ .
giao tiếp nếu chỉ giao tiếp theo kiểu thông thường thì nó chẳng khác gì con EEPROM ngoài . nhưng mà như thế thì mình rất khó quản lý dữ liệu trong nó . người ta sẽ giao tiếp thẻ nhớ theo định dạng bảng FAT32
vậy làm thế nào để sử dụng được bảng FAT32 .
mong mọi người giúp
cảm ơn nhiều
Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).
Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
Uống rượu 1 mình, thấy trang này nhớ lại cách đây vài chục năm hàn thiếc với inox cực kỳ khó, phải dùng acid Hcl tác dụng lên kẻm Zn để có Zncl2 làm thuốc trợ hàn, lúc đó làm gì có acid Hcl và thuốc trợ hàn?
Comment