۱۰-مرداد-۱۳۸۶, ۰۹:۳۰:۲۷
۱۰-مرداد-۱۳۸۶, ۱۳:۲۳:۲۸
من با فرکانس 1مگا هرتز و ولتاژ 3 برای میکرو نیز امتحان کردم همون مشکل قبلی رو داره اقای پردازشگر ممکنه نقشه اتصال خودتو برای ما بزاری
درضمن من از dv rs mmc استفاده می کنم
درضمن من از dv rs mmc استفاده می کنم
۱۰-مرداد-۱۳۸۶, ۱۴:۴۲:۴۴
برنامه شما در شبیه سازی خطایی نداشت. اما اشکالاتی داشت.
برنامه تان را دیدم کار هایی که میگویم را انجام دهید امید دارم مشکل حل شود.
برنامه در بعضی نقاط به شکلی بوده که مانع از نشان دادن خطا می شود. و همیشه تلاش میکند تا کارت را شناسایی کند . این روش خیلی خوب نیست باید این اجازه را بدهیم که اگر خطا وجود داشته باشد ما را آگاه کند.
مشکل دوم در تعریف ارتباط SPI نرم افزاری بود که اشتباه نوشته شده بود.
برنامه برای ارتباط نرم افزاری آماده شده با تغییر Const Cmmc_soft به 0 حالت سخت افزاری انتخاب می شود.
برنامه را آزمایش کنید هرگونه خطایی داد کامل توضیح بدید .. امیدوارم کارتان درست شود. منتظرم .....
برنامه تان را دیدم کار هایی که میگویم را انجام دهید امید دارم مشکل حل شود.
برنامه در بعضی نقاط به شکلی بوده که مانع از نشان دادن خطا می شود. و همیشه تلاش میکند تا کارت را شناسایی کند . این روش خیلی خوب نیست باید این اجازه را بدهیم که اگر خطا وجود داشته باشد ما را آگاه کند.
مشکل دوم در تعریف ارتباط SPI نرم افزاری بود که اشتباه نوشته شده بود.
برنامه برای ارتباط نرم افزاری آماده شده با تغییر Const Cmmc_soft به 0 حالت سخت افزاری انتخاب می شود.
برنامه را آزمایش کنید هرگونه خطایی داد کامل توضیح بدید .. امیدوارم کارتان درست شود. منتظرم .....
کد:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Cursor Off
Const Cmmc_soft = 1 '!!!!!!!!!!!!Select 1=SoftMode or 0=HardMode!!!!!!!!!!!!!
Print "Wait for Drive.."
Cls
Lcd "Wait for Drive.."
#if Cmmc_soft = 1
Portb = 0
' Chip-Select
Config Pinb.4 = Output
Mmc_cs Alias Portb.4
Set Mmc_cs
' SS
Config Pinb.4 = Output
Spi_ss Alias Portb.4
Set Spi_ss
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
Spsr = 0 '!!!!!! We recommend set Spsr if use atmega128 !!!!!!
Spiinit
Print "Spiinit Hw"
#else
Config Pinb.4 = Output
Mmc_cs Alias Portb.4
Set Mmc_cs
' MOSI MMC/SD
Config Pinb.5 = Output
Set Pinb.5
Mmc_portmosi Alias Portb
Bmmc_mosi Alias 5
' MISO MMC/SD
Config Pinb.6 = Input
Mmc_portmiso Alias Pinb
Bmmc_miso Alias 6
' SCK MMC/SD
Config Pinb.7 = Output
Set Pinb.7
Mmc_portsck Alias Portb
Bmmc_sck Alias 7
#endif
' ========== End of user definable range =======================================
' Error
Const Cperrdrivereset = 225 ' Error response Byte at Reset command
Const Cperrdriveinit = 226 ' Error response Byte at Init Command
Const Cperrdrivereadcommand = 227 ' Error response Byte at Read Command
Const Cperrdrivewritecommand = 228 ' Error response Byte at Write Command
Const Cperrdrivereadresponse = 229 ' No Data response Byte from MMC at Read
Const Cperrdrivewriteresponse = 230 ' No Data response Byte from MMC at Write
Const Cperrdrive = 231
Const Cperrdrivenotsupported = 232 ' return code for DriveGetIdentity, not supported yet
Waitms 10 ' Wait some time before initialising MMC/SD
Dim Gbdriveerror As Byte ' General Driver Error register
Dim Gbdriveerrorreg As Byte ' Driver load Error-Register of HD in case of error
Dim Gbdrivestatusreg As Byte ' Driver load Status-Register of HD on case of error
Dim Gbdrivedebug As Byte
$lib "MMC.LIB" ' link driver library
$EXTERNAL _mmc
Gbdriveerror = Driveinit() ' Init MMC/SD Card
Print "Error: A:" ; Gbdriveerror ; " B:" ; Gbdriveerrorreg ; " C:" ; Gbdrivestatusreg ; " D:" ; Gbdrivedebug
Cls
Lcd "Error: " ; Gbdriveerror
If Gbdriveerror = 0 Then
Print "MMC Ready"
Cls
Lcd "MMC Ready"
Else
Print "error Occur !"
Cls
Lcd "error Occur !"
End If
End
۱۳-مرداد-۱۳۸۶, ۰۱:۰۹:۲۶
ممنون با استفاده از spi نرم افزاری که گفته بودیئ حل شد دست گلتون درد نکنه اقای پردازشگر فقط عیبش اینه که یکم کیفیت صدا افت کرده که زیاد مهم نیست علتش هم اینه که spi نرم افزاری سرعتش نصف سخت افزاریه با این حال بازم ممنون
۱۳-مرداد-۱۳۸۶, ۰۱:۴۱:۰۰
سلام
خودت گلی :wink:
قرار بود error را بگید شکل برنامه با فایلی که قرار دادید تغییر کرده کامل کپی پیست کنید و Const Cmmc_soft = 0 قرار دهید اطلاعات سریال را بخوانید و در اینجا قرار دهید.[/u]
خودت گلی :wink:
قرار بود error را بگید شکل برنامه با فایلی که قرار دادید تغییر کرده کامل کپی پیست کنید و Const Cmmc_soft = 0 قرار دهید اطلاعات سریال را بخوانید و در اینجا قرار دهید.[/u]
۱۳-مرداد-۱۳۸۶, ۱۳:۳۴:۱۰
هیچ خطایی وجود ندارد فقط برنامه در خط driveinit هنگ میکند تا حدود 10 تا 30 ثانیه زمان صرف شود درضمن توجه داشتید که ممکن است دستور lcd نتواند خطا را نشان دهد ولی پورت سریال دادهای قبلی حتی با ریست میکرو را نشان میدهد و استفاده از goto به این دلیل بود و اما کد تغییر یافته به توجه به کد شما
کد:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Restartlbl:
Cursor Off
Const Cmmc_soft = 1
#if Cmmc_soft = 0
Portb = 0
' --------- íßÑ ÈäÏí ÓÎÊ ÇÝÒÇÑí ----------------------------------------
' Chip-Select ãÔÎÕ ßÑÏä Çíå
Config Pinb.4 = Output
Mmc_cs Alias Portb.4
Set Mmc_cs
'ãÔÎÕ ßÑÏä Çíå SS
Config Pinb.4 = Output
Spi_ss Alias Portb.4
Set Spi_ss
' íßÑ ÈäÏí SPI
Config Pind.6 = Output
Portd.6 = 1 'active Mmc Power
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
Print "MICRO START"
Cls
Lcd "MICRO START"
Portd.6 = 0
Waitms 10
Portd.6 = 1
Spsr = 1
Waitms 10
Spiinit
Spiinit 'Úãá ÈÑÞÑÇÑí ÇÑÊÈÇØ
Print "Spiinit"
' --------- ÇÊãÇã ------------------------------------------
#else
' --------- íßÑ ÈäÏí äÑã ÇÝÒÇÑí --------------------------------------
Config Pinb.4 = Output
Mmc_cs Alias Portb.4
Set Mmc_cs
' MOSI MMC/SD
Config Pinb.5 = Output
Set Pinb.5
Mmc_portmosi Alias Portb
Bmmc_mosi Alias 5
' MISO MMC/SD
Config Pinb.6 = Input
Mmc_portmiso Alias Pinb
Bmmc_miso Alias 6
' SCK MMC/SD
Config Pinb.7 = Output
Set Pinb.7
Mmc_portsck Alias Portb
Bmmc_sck Alias 7
' --------- ÇÊãÇã ----------------------------------------
#endif
' ========== ÇíÇä íßÑ ÈäÏí =======================================
' ÎØÇåÇ
Const Cperrdrivereset = 225
Const Cperrdriveinit = 226
Const Cperrdrivereadcommand = 227
Const Cperrdrivewritecommand = 228
Const Cperrdrivereadresponse = 229
Const Cperrdrivewriteresponse = 230
Const Cperrdrive = 231
Const Cperrdrivenotsupported = 232
Waitms 100
Dim Gbdriveerror As Byte
Dim Gbdriveerrorreg As Byte
Dim Gbdrivestatusreg As Byte
Dim Gbdrivedebug As Byte
$lib "MMC.LIB"
$external _mmc
Dim E As String * 10
Cls
Print "DRIVEINIT"
Lcd "DRIVEINIT"
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gbdriveerror = Driveinit() 'ÈÑÞÑÇÑí ÇÑÊÈÇØ ÈÇMMC
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If Gbdriveerror <> 0 Then Goto Restartlbl
E = Str(gbdriveerror)
Print "<driveerror=no>" ; E
Lcd "<driveerror=no>" ; E
E = Str(gbdriveerror)
Gbdriveerror = Drivecheck() 'ÇãÊÍÇä ÈÑÞÑÑÇÑí ÇÑÊÈÇØ
If Gbdriveerror <> 0 Then Goto Restartlbl
Cls
E = Str(gbdriveerror)
Lcd "Drivecheck:" ; E
Print "Drivecheck:" ; E
Cls
Lcd "MMC Ready"
Print "MMC Ready"
End
۱۶-مرداد-۱۳۸۶, ۰۹:۰۱:۳۷
نمی دونم چرا تا حالا شده با کارت دیگری کار کنید :roll:
۱۶-مرداد-۱۳۸۶, ۱۰:۱۸:۵۲
من با کارت نوکیا و ماکرو سیم کا ر کردم هر دو از مدل RS DV هستند[/list]
۲۶-مرداد-۱۳۸۶, ۰۷:۱۵:۴۴
من برايه سوالم نتونستم كه بحث مربوطه رو پيدا كنم ..فك كنم كه اينجا از همه بهتر باشه
...
يه دستگاه MP3 پلير را ب كامپيوتر فرمت كرديم و حالا خراب شده .. ميشه كاريش كرد يا بايد انداخت دور ؟ :cry:
...
يه دستگاه MP3 پلير را ب كامپيوتر فرمت كرديم و حالا خراب شده .. ميشه كاريش كرد يا بايد انداخت دور ؟ :cry:
۲۶-مرداد-۱۳۸۶, ۱۲:۵۷:۵۹
کامپیوتر می شناستش یا نه؟
اگه می شناسه Fat معمولی فرمت کن درست می شه احتمالا با یه استاندارد بالاتر فرمت کردی خراب شد
اگه می شناسه Fat معمولی فرمت کن درست می شه احتمالا با یه استاندارد بالاتر فرمت کردی خراب شد
۲۶-مرداد-۱۳۸۶, ۲۰:۱۹:۴۸
سلام اونی که میگی زولتریکس نیست
با نرم افزار update فریم ور ور نرفتی
اگه اصلا به عنوان divice کامپیوتر نمیتونه شناسایی کنه حتما فریم ور پاک شده
با نرم افزار update فریم ور ور نرفتی
اگه اصلا به عنوان divice کامپیوتر نمیتونه شناسایی کنه حتما فریم ور پاک شده