اطلاعیه

Collapse
No announcement yet.

فلسفه این کد ها چیه که به vs1003 ارسال میشه؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    فلسفه این کد ها چیه که به vs1003 ارسال میشه؟

    Sub Vs_init()
    Xreset = 0 : Print "Xreset = 0"
    Waitms 5
    Xreset = 1 : Print "Xreset = 1"
    Waitms 10

    Do : Led = Dreq : Loop Until Dreq = 1
    Vs_write Vs_mode , &H0 , &H4 'reset
    Print "1 "
    Do : Led = Dreq : Loop Until Dreq = 1
    Vs_write Vs_mode , &H0 , &H0
    Print "2 "

    Do : Led = Dreq : Loop Until Dreq = 1
    Mode_low.7 = 0 'set to zero
    Vs_write Vs_mode , &H4 , Mode_low 'bass
    Print "3 "

    Do : Led = Dreq : Loop Until Dreq = 1
    Vs_write Vs_mode , &H4 , &H40
    Print "4 "

    Do : Led = Dreq : Loop Until Dreq = 1
    Vs_write Vs_clockf , &H9B , &HE8 'clockf 12.288 MHz VS1003
    Print "5 "

    Do : Led = Dreq : Loop Until Dreq = 1
    Vs_write Vs_volume , &H00 , &H00 'volume =0 massimo
    Print "6 "

    End Sub
    انجام پروژه های برنامه نویسی اندروید
    [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
    http://cafebazaar.ir/app/?id=com.atxdroid

    #2
    پاسخ : فلسفه این کد ها چیه که به vs1003 ارسال میشه؟

    این کدها برای اینشیال VS هست و باید قبل از استفاده تنظیم بشه
    یکی برای ریسته
    یکی برای تنظیم ولوم - باس - تریبل
    یکی هم برای تنظیم کلاک دکود و کریستالی که بهش وصل شده
    البته باید بگم این خیلی ساده شدش هست
    همین تابع تو سی به این شکله و کاملشه

    unsigned char VS1003B_Init()
    {
    unsigned char retry;
    PORT_INI(); /* Prot Initialize */

    VS1003B_XRESET_L(); /* A hardware reset */
    _delay_ms(20);
    VS1003B_XRESET_H();

    VS1003B_SPI_Low(); /* Low initialize spi clock */
    _delay_ms(20);

    retry=0;

    while(VS1003B_ReadCMD(0x03) != CLOCK_REG) /* set PLL register */
    {
    VS1003B_WriteCMD(0x03,CLOCK_REG);
    if(retry++ >10 )return 1;
    }

    _delay_ms(20);

    VS1003B_WriteCMD(0x05,0x000a);

    retry=0;
    while(VS1003B_ReadCMD(0x0b) != 0xfefe) /* set Volume to minimum */
    {
    VS1003B_WriteCMD(0x0b,0xfefe);
    if(retry++ >10 )return 1;
    }

    VS1003B_WriteCMD(0x05,0xac45); /* Soft start */

    retry=0;
    while(VS1003B_ReadCMD(0x0b) != DEFAULT_VOLUME) /* Set volume to default value */
    {
    VS1003B_WriteCMD(0x0b,DEFAULT_VOLUME);
    if(retry++ >10 )return 1;
    }

    retry=0;
    while(VS1003B_ReadCMD(0x00) != 0x0800) /* set mode register */
    {
    VS1003B_WriteCMD(0x00,0x0800);
    if(retry++ >10 )return 1;
    }

    _delay_ms(1);

    retry=0;
    while(VS1003B_ReadCMD(0x02) != DEFAULT_BASS_TREMBLE) /* set bass/tremble register */
    {
    VS1003B_WriteCMD(0x02,DEFAULT_BASS_TREMBLE);
    if(retry++ >10 )return 1;
    }
    _delay_ms(20);

    VS1003B_SoftReset(); /* A soft reset */

    _delay_ms(20);

    VS1003B_SPI_High(); /* High SPI clock, for internal pll has been works now */
    return 0;
    }
    تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
    به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

    دیدگاه


      #3
      پاسخ : فلسفه این کد ها چیه که به vs1003 ارسال میشه؟

      سلام
      من که سر در نیاوردم توی زبان بیسیک یک سری کد ارسال میشه ولی توی زبان سی یه چیز های دیگه ارسال میشه پاین رو ببینین!


      Sub Vs_init()
      Xreset = 0 : Print "Xreset = 0"
      Waitms 5
      Xreset = 1 : Print "Xreset = 1"
      Waitms 10

      Do : Led = Dreq : Loop Until Dreq = 1
      Vs_write Vs_mode , &H0 , &H4 'reset
      Print "1 "
      Do : Led = Dreq : Loop Until Dreq = 1
      Vs_write Vs_mode , &H0 , &H0
      Print "2 "

      Do : Led = Dreq : Loop Until Dreq = 1
      Mode_low.7 = 0 'set to zero
      Vs_write Vs_mode , &H4 , Mode_low 'bass
      Print "3 "

      Do : Led = Dreq : Loop Until Dreq = 1
      Vs_write Vs_mode , &H4 , &H40
      Print "4 "

      Do : Led = Dreq : Loop Until Dreq = 1
      Vs_write Vs_clockf , &H9B , &HE8 'clockf 12.288 MHz VS1003
      Print "5 "

      Do : Led = Dreq : Loop Until Dreq = 1
      Vs_write Vs_volume , &H00 , &H00 'volume =0 massimo
      Print "6 "

      End Sub






      unsigned char VS1003B_Init()
      {
      unsigned char retry;
      PORT_INI(); /* Prot Initialize */

      VS1003B_XRESET_L(); /* A hardware reset */
      _delay_ms(20);
      VS1003B_XRESET_H();

      VS1003B_SPI_Low(); /* Low initialize spi clock */
      _delay_ms(20);

      retry=0;

      while(VS1003B_ReadCMD(0x03) != CLOCK_REG) /* set PLL register */
      {
      VS1003B_WriteCMD(0x03,CLOCK_REG);
      if(retry++ >10 )return 1;
      }

      _delay_ms(20);

      VS1003B_WriteCMD(0x05,0x000a);

      retry=0;
      while(VS1003B_ReadCMD(0x0b) != 0xfefe) /* set Volume to minimum */
      {
      VS1003B_WriteCMD(0x0b,0xfefe);
      if(retry++ >10 )return 1;
      }

      VS1003B_WriteCMD(0x05,0xac45); /* Soft start */

      retry=0;
      while(VS1003B_ReadCMD(0x0b) != DEFAULT_VOLUME) /* Set volume to default value */
      {
      VS1003B_WriteCMD(0x0b,DEFAULT_VOLUME);
      if(retry++ >10 )return 1;
      }

      retry=0;
      while(VS1003B_ReadCMD(0x00) != 0x0800) /* set mode register */
      {
      VS1003B_WriteCMD(0x00,0x0800);
      if(retry++ >10 )return 1;
      }

      _delay_ms(1);

      retry=0;
      while(VS1003B_ReadCMD(0x02) != DEFAULT_BASS_TREMBLE) /* set bass/tremble register */
      {
      VS1003B_WriteCMD(0x02,DEFAULT_BASS_TREMBLE);
      if(retry++ >10 )return 1;
      }
      _delay_ms(20);

      VS1003B_SoftReset(); /* A soft reset */

      _delay_ms(20);

      VS1003B_SPI_High(); /* High SPI clock, for internal pll has been works now */
      return 0;
      }

      همین طور که میبینین برای زبان بیسیک 3 خط برای تنظیم مد ارسال میشه ولی توی زبان سی 1 خط و جالبیش این که کد های که ارسال میشه کلی با هم فرق دارن؟؟

      ؟؟؟؟
      چرا :eek:
      انجام پروژه های برنامه نویسی اندروید
      [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
      http://cafebazaar.ir/app/?id=com.atxdroid

      دیدگاه


        #4
        پاسخ : فلسفه این کد ها چیه که به vs1003 ارسال میشه؟

        نوشته اصلی توسط محسن فاریابی
        همین طور که میبینین برای زبان بیسیک 3 خط برای تنظیم مد ارسال میشه ولی توی زبان سی 1 خط و جالبیش این که کد های که ارسال میشه کلی با هم فرق دارن؟؟
        ؟؟؟؟
        چرا :eek:
        سلام دوست من
        خوب این به این خاطره که هر کسی یه جور اینشیالش میکنه
        یکی از سریالش استفاده میکنه یکی نه
        یکی صداشو تا آخر باز میکنه یکی نه
        یکی تریبل و باسشو تنظیم میکنه یکی نه
        و
        .........
        تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
        به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

        دیدگاه


          #5
          پاسخ : فلسفه این کد ها چیه که به vs1003 ارسال میشه؟

          نوشته اصلی توسط POLESTAR
          سلام دوست من
          خوب این به این خاطره که هر کسی یه جور اینشیالش میکنه
          یکی از سریالش استفاده میکنه یکی نه
          یکی صداشو تا آخر باز میکنه یکی نه
          یکی تریبل و باسشو تنظیم میکنه یکی نه
          و
          .........
          ممنون از توجهت
          ولی این خط های که من قرمز کردم فقط برای تعین مد هستن توی بسکام با
          Vs_write Vs_mode , &H0 , &H0
          که به
          Vs_mode
          مقدار ox00Hداده شده و وقتی میخاد به وی اس بفرسته تعین میشه کجا بره ولی توی زبان سی مستقیم 00 قرار داده میشه مثل زیر
          while(VS1003B_ReadCMD(0x00) != 0x0800)
          خوب حالا نظرتون چیه ایا من اشتباه میکنم یا واقعا چند بار مد تعین شده

          اصلا یک سوال دیگه این توضیجات که مربوط به تعین مد هستش توی کدوم صفحه دیتا شیت هست؟
          اخه من فقط دیدم نوشته این مد جدیده و این طوری باید وصلش کرد و این طوری دیتا داد به میکرو ولی نگفته چطوری این مد رو انتخاب کنم!
          انجام پروژه های برنامه نویسی اندروید
          [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
          http://cafebazaar.ir/app/?id=com.atxdroid

          دیدگاه

          لطفا صبر کنید...
          X