ايران ويج

نسخه‌ی کامل: تولید صوت با میکرو کنترلر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7
شما سرعت و ولتاژ رو بیار پایین برای امتحان اگه مشکل توقف حل شد مال سخت افزار و ولتاژ بوده اگه حل نشد پس ربطی به ولتاژ نداره مشکل از خود برنامست
من با فرکانس 1مگا هرتز و ولتاژ 3 برای میکرو نیز امتحان کردم همون مشکل قبلی رو داره اقای پردازشگر ممکنه نقشه اتصال خودتو برای ما بزاری
درضمن من از dv rs mmc استفاده می کنم
برنامه شما در شبیه سازی خطایی نداشت. اما اشکالاتی داشت.
برنامه تان را دیدم کار هایی که میگویم را انجام دهید امید دارم مشکل حل شود.
برنامه در بعضی نقاط به شکلی بوده که مانع از نشان دادن خطا می شود. و همیشه تلاش میکند تا کارت را شناسایی کند . این روش خیلی خوب نیست باید این اجازه را بدهیم که اگر خطا وجود داشته باشد ما را آگاه کند.
مشکل دوم در تعریف ارتباط 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]
هیچ خطایی وجود ندارد فقط برنامه در خط 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:
کامپیوتر می شناستش یا نه؟
اگه می شناسه Fat معمولی فرمت کن درست می شه احتمالا با یه استاندارد بالاتر فرمت کردی خراب شد
سلام اونی که میگی زولتریکس نیست
با نرم افزار update فریم ور ور نرفتی
اگه اصلا به عنوان divice کامپیوتر نمیتونه شناسایی کنه حتما فریم ور پاک شده
صفحه‌ها: 1 2 3 4 5 6 7