امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
تولید صوت با میکرو کنترلر
نویسنده پیام
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #56
 
شما سرعت و ولتاژ رو بیار پایین برای امتحان اگه مشکل توقف حل شد مال سخت افزار و ولتاژ بوده اگه حل نشد پس ربطی به ولتاژ نداره مشکل از خود برنامست

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۰-مرداد-۱۳۸۶, ۰۹:۳۰:۲۷
وب سایت ارسال‌ها
پاسخ
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #57
 
من با فرکانس 1مگا هرتز و ولتاژ 3 برای میکرو نیز امتحان کردم همون مشکل قبلی رو داره اقای پردازشگر ممکنه نقشه اتصال خودتو برای ما بزاری
درضمن من از dv rs mmc استفاده می کنم
۱۰-مرداد-۱۳۸۶, ۱۳:۲۳:۲۸
وب سایت ارسال‌ها
پاسخ
Pardazesh-Gar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 457
موضوع‌ها: 6
تاریخ عضویت: اردیبهشت ۱۳۸۶

تشکرها : 330
( 630 تشکر در 286 ارسال )
ارسال: #58
 
برنامه شما در شبیه سازی خطایی نداشت. اما اشکالاتی داشت.
برنامه تان را دیدم کار هایی که میگویم را انجام دهید امید دارم مشکل حل شود.
برنامه در بعضی نقاط به شکلی بوده که مانع از نشان دادن خطا می شود. و همیشه تلاش میکند تا کارت را شناسایی کند . این روش خیلی خوب نیست باید این اجازه را بدهیم که اگر خطا وجود داشته باشد ما را آگاه کند.
مشکل دوم در تعریف ارتباط 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

---------------------------------------------------------------------------
تیـــز دوم، تیز دوم، تا به سواران برسم
--------------------------------------
۱۰-مرداد-۱۳۸۶, ۱۴:۴۲:۴۴
ارسال‌ها
پاسخ
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #59
 
ممنون با استفاده از spi نرم افزاری که گفته بودیئ حل شد دست گلتون درد نکنه اقای پردازشگر فقط عیبش اینه که یکم کیفیت صدا افت کرده که زیاد مهم نیست علتش هم اینه که spi نرم افزاری سرعتش نصف سخت افزاریه با این حال بازم ممنون
۱۳-مرداد-۱۳۸۶, ۰۱:۰۹:۲۶
وب سایت ارسال‌ها
پاسخ
Pardazesh-Gar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 457
موضوع‌ها: 6
تاریخ عضویت: اردیبهشت ۱۳۸۶

تشکرها : 330
( 630 تشکر در 286 ارسال )
ارسال: #60
 
سلام
خودت گلی :wink:
قرار بود error را بگید شکل برنامه با فایلی که قرار دادید تغییر کرده کامل کپی پیست کنید و Const Cmmc_soft = 0 قرار دهید اطلاعات سریال را بخوانید و در اینجا قرار دهید.[/u]

---------------------------------------------------------------------------
تیـــز دوم، تیز دوم، تا به سواران برسم
--------------------------------------
۱۳-مرداد-۱۳۸۶, ۰۱:۴۱:۰۰
ارسال‌ها
پاسخ
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #61
 
هیچ خطایی وجود ندارد فقط برنامه در خط 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
۱۳-مرداد-۱۳۸۶, ۱۳:۳۴:۱۰
وب سایت ارسال‌ها
پاسخ
Pardazesh-Gar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 457
موضوع‌ها: 6
تاریخ عضویت: اردیبهشت ۱۳۸۶

تشکرها : 330
( 630 تشکر در 286 ارسال )
ارسال: #62
 
نمی دونم چرا تا حالا شده با کارت دیگری کار کنید :roll:

---------------------------------------------------------------------------
تیـــز دوم، تیز دوم، تا به سواران برسم
--------------------------------------
۱۶-مرداد-۱۳۸۶, ۰۹:۰۱:۳۷
ارسال‌ها
پاسخ
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #63
 
من با کارت نوکیا و ماکرو سیم کا ر کردم هر دو از مدل RS DV هستند[/list]
۱۶-مرداد-۱۳۸۶, ۱۰:۱۸:۵۲
وب سایت ارسال‌ها
پاسخ
mfblog آفلاین
تازه وارد

ارسال‌ها: 10
موضوع‌ها: 0
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 0
( 1 تشکر در 1 ارسال )
ارسال: #64
 
من برايه سوالم نتونستم كه بحث مربوطه رو پيدا كنم ..فك كنم كه اينجا از همه بهتر باشه


...

يه دستگاه MP3 پلير را ب كامپيوتر فرمت كرديم و حالا خراب شده .. ميشه كاريش كرد يا بايد انداخت دور ؟ :cry:
۲۶-مرداد-۱۳۸۶, ۰۷:۱۵:۴۴
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #65
 
کامپیوتر می شناستش یا نه؟
اگه می شناسه Fat معمولی فرمت کن درست می شه احتمالا با یه استاندارد بالاتر فرمت کردی خراب شد

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۲۶-مرداد-۱۳۸۶, ۱۲:۵۷:۵۹
وب سایت ارسال‌ها
پاسخ
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #66
 
سلام اونی که میگی زولتریکس نیست
با نرم افزار update فریم ور ور نرفتی
اگه اصلا به عنوان divice کامپیوتر نمیتونه شناسایی کنه حتما فریم ور پاک شده
۲۶-مرداد-۱۳۸۶, ۲۰:۱۹:۴۸
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] مشکلات نویز گرفتن میکرو کنترلر avr عابد مقدسیان 5 1,973 ۱۷-آبان-۱۳۹۷, ۱۸:۰۰:۱۸
آخرین ارسال: alimogmov
  تست میکرو saber.k 10 14,048 ۰۹-شهریور-۱۳۹۵, ۰۲:۰۹:۲۷
آخرین ارسال: yadulla fazel
  راهنمایی برای تولید پالس vistac2000 15 17,041 ۰۸-اردیبهشت-۱۳۹۵, ۰۰:۳۹:۴۶
آخرین ارسال: omid_phoenix
  سوال درباره نحوه تولید پالس مربعی sinohe 37 41,329 ۱۷-اسفند-۱۳۹۴, ۱۸:۳۶:۲۴
آخرین ارسال: sharin
  [سوال] تولید موج مربعی 10% در مد fast pwm mmmjavad 1 2,175 ۳۰-آذر-۱۳۹۳, ۱۲:۴۶:۲۱
آخرین ارسال: patmatp
  [آموزشی] Exclamation دانلود ویرایش دوم کتاب اصول کار با میکرو کنترلر های avr و کامپایلر بسکام a.mehran 0 3,259 ۱۷-آبان-۱۳۹۳, ۱۸:۵۵:۳۰
آخرین ارسال: a.mehran
  کمک در وصل کردن 2 میکرو کنترلر ماکان 2 2,769 ۰۷-آبان-۱۳۹۳, ۱۵:۱۶:۲۶
آخرین ارسال: ماکان
Toungue کمک در مورد انتخاب نوع میکرو کنترلر white_looloo 2 2,488 ۲۹-مهر-۱۳۹۳, ۰۰:۰۱:۱۸
آخرین ارسال: white_looloo
  میکرو و ال ای دی dostane 4 3,376 ۲۴-شهریور-۱۳۹۳, ۱۶:۳۹:۰۰
آخرین ارسال: a.mehran
  درخواست راهنمایی در خصوص تولید صفر و یک sinastar 0 1,492 ۲۹-مرداد-۱۳۹۳, ۲۱:۲۹:۰۲
آخرین ارسال: sinastar

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 5 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS