اطلاعیه

Collapse
No announcement yet.

سوالات کتاب at91 (نص)

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

    #61
    پاسخ : سوالات کتاب at91 (نص)

    نوشته اصلی توسط hunybal
    سلام.مرسی علی جان.اما من در برنامه اصلی همون == مساوی گذاشته بودم اینجا که خواستم تایپ کنم اشتباه کردم.دستور if قبلا اینطور بود

    ;(if(AT91C_BASE_RTTC->RTTC_RTSR==1
    که جواب نمیداد و هشداری رخ نمیداد اما حالا که نوشتم
    ;(if((AT91C_BASE_RTTC->RTTC_RTSR&0x1==0x1
    هشدار شناسایی کرد اما در صورتی که به نظرم با دستور بالا فرقی نداره!ولی نمیدونم چرا رجیستر هشدار مقدارش عوض نمیشه و روی 9 میمونه
    سلام
    دستور if اول از نظر کارکرد با دومی خیلی فرق دارد. if اول یعنی اگر رجیستر x برابر 1 شد بیا این کار رو انجام بده یعنی باید مقدار کل رجیستر برابر 1 شود تا این عملیات انجام شود. اما در if دوم یعنی اگر بیت صفرام رجیستر x برابر 1 شد بیا این کار رو انجام بده.
    حالا در این جا در این رجیستر دو بیت فقط وجود دارد ALMS,RTTINC . حالا شرط شما این است که هر وقت که هشداری رخ داد بیاد یک کاری انجام دهد. وقتی که بیت ALMS برابر یک شود یعنی هشدار رخ داده است. اگر هم بیت RTTINC برابر یک شود یعنی تایمر افزایش یافته هست. خوب وقتی که شما if اول را می نویسید و تایمر دارد افزایش می یابد تا هشدار رخ می دهد و بیت ALMS هم یک می شود و در ضمن در هنگام رخ دادن هشدار تایمر هم افزایش پیدا کرده پس بیت RTTINC هم یک می شود پس مقدار رجیستر برابر 3 شده و برابر 1 نشده و باتوجه به توضیحات بالا شرط if درست نمی باشد. در صورتی که در if دوم فقط بیت صفرام (ALMS) را چک می کند و اگر آن 1 شد شرط if برقرار می شود. بهتر است در برنامه های خود به صورت if دوم شرط های رو بنویسید.
    حالا اگر می خواهید به همان صورت اولی بنویسید مثلا در اینجا با توجه به توضیحات بالا مقدار رجیستر برابر 3 می شود پس برنامه خود را به صورت زیر بنویسید که درست اجرا شود.
    کد:
     if(AT91C_BASE_RTTC->RTTC_RTSR==0x3)
      {
    
      }
    در ضمن در جایی نگفته شده که وقتی هشدار رخ دهد مقدار رجیستر آن برابر 0Xffffffff می شود. مقدار رجیستر هشدار در مقدار قبلی خود می ماند تا دوباره آنرا بارگذاری کنید.

    دیدگاه


      #62
      پاسخ : سوالات کتاب at91 (نص)

      [move][glow=red,2,300]فصل دوازدهم رابط سریال usart[/glow][/move]


      با سلام

      بهتره قبل از این که این فصل رو بخونیم یه سری اطلاع دربارش به دست بیاربم من یه سرچ زدم یه سری مطلب دیدم گفتم این جا بگذارم از مطالب آقای ma_bazrafshan و آقای Study ابته خودم یه ذره دست کاریش کردم هااااااا دیگه ببخشید دوستان .....

      مطالب آقای Study

      [glow=red,2,300]Boudrate چیست ؟؟ [/glow]

      در ارتباط سریال برای اینکه خطا در ارسال ایحاد نشه فرستنده و گیرنده باید هر دو با یک سرعت مشخص داده ها رو ارسال و دریافت کنند که این سرعت با واحد بیت بر ثانیه مشخص میشه.
      حالا این Baud Rate یا همون نرخ انتقال مشخص میکنه که سرعت انتقال چقدر هست مثلا وقتی میگم boutrate=9000 bps هست یعنی فرستنده در هر یک ثاینه 9000 بیت رو برای گیرنده ارسال میکنه !!

      [glow=red,2,300][glow=red,2,300]فرق سنکرون و اسنکرون در ارتباط سریال چیه ؟؟[/glow][/glow]

      فرق اصلی سنکرون و آسنکرون در این هست که سنکرون همزمان با هر بیت که روی خط داده فرستاده میشه یک پالس هم از یک پین دیگه به گیرنده فرستاده میشه و گیرنده این پالس رو که گرفت میفهمه همون موقع باید داده رو از روی پین داده بخونه، حالا اگز 8 بیت رو بخوای انجوری بفرستی باید برای هر 8 تا همزمان یک پالس بدی به گیرنده که 8تارو برداره اما در آسنکرون از طریق همین Baud مشخص میکنی که من میخوام با این سرعت بیتها رو بفرستم تو بیت استارت رو که گرفتی خودت دیگه با توجه به سرعت بقیه بیتها رو یکی یکی بردار. فرض کن رفتی فرودگاه و جلوی این ریل ها که چمدون ها روش میچرخه ایستادی و چشمت بسته هست، حالا تو میدونی که قرار هست 8 تا چمدون بیاد و برشون داری، در ارتباط سنکرون اینجوری هست که من وای میستم کنارت هر چمدون که اومد جلوت با دست بهت یه پالس میدم تو متوجه میشی که چمدون رو بر داری و اینجوری 8 بار باید بهت با دست پالس بدم حالا اگر من همزمان با چمدون دست نزنم بهت تو دست میکنی ولی هیچ چمدونی رو بلند نمیکنی اون موقع هست که چشمت رو باز میکنی میوفتی دنبال من. برداشتن بیت هم به همین شکل هست.
      اما توی آسنکرون این چمدون ها با یک فاصله منظم میاند ولی تو نمیدونی کی میان، دستت رو پایین نگه میداری تا متوجه رسیدن اولین چمدون بشی حالا اولی رو که لمس کردی با توجه به سرعت حرکت چمدانها که قبلا بهت گفتن میتونی زمان برداشتن بعدی رو متوجه بشی، حالا اگر این سرعت رو که نقش Baud Rate رو ایفا میکنه اشتباه بهت داده باشند اولی رو که بر میداری انتظار داری دومی رو یک ثانیه بعد برداری ولی دست میکنی یا هیچی نیست که برداری یا بعدیش رو بر میداری و خلاصه اشتباه میکنی. این Baud Rate هم توی آسنکرون کارش همین هست که سرعت رو مشخص کنه که بیتی در نره، حالا شما میتونی از یک ساعت قبل دستت رو اون پایین نگه داری هر موقع که اولی چمدان یا بیت Start اومد زمان رسیدن چمدان بعدی رو متوجه بشی و شروع کنی بر برداشتنشون اما اگر دیر برسی و وسط رد شدن چمدان ها دستت رو بیاری پایین 4 تا رو بر میداری بعد آخر کار که میشماری میبینی کم هست و متوجه میشی که داده رو اشتباه گرفتی، پس همیشه گیرنده باید قبل از فرستنده خودش رو آماده کنه تا بتونه بیتها رو کامل بگیره حالا توی بعضی از ارتباطات سریال ممکن هست Baud Rate داده نشه مثلا همین سیستم ریموت کنترلهای مادون قرمز که شما توی Basic با دستور های مخصوص RC5 با اونها کار میکنید در واقع نوعی ارسال و دریافت سریال هستند که Baud Rate مشخصی به اون صورت ندارند و باید با توجه به استاندارد و پروتکل کاریشون داده ها رو خوند مثلا ما توی اسمبلی که مینویسیم باید طول بیت رو اندازه بگیریم بعد در زمانهای مشخصی که با تایمر تنظیم کردیم از بیت داده نمونه برداری کنیم حالا اگر ما این زمان رو طبق استاندارد RC5 تنظیم نکرده باشیم بیت از دست میدیم این استاندارد RC5 در واقع قالب ارسال داده هست استاندارد های دیگه هم هست برای این کنترل ها که اگر بخواید باشون کار کنید باید بدونید این چه ساختاری داره و دیگه نمیشه از RC5 استفاده کرد.


      مطالب آقای ma_bazrafshan


      [shadow=red,left][glow=red,2,300]انواع ارتباطات بین دو دستگاه الکتریکی چیه ؟؟؟ [/glow][/shadow]
      1- یکطرفه
      2- دوطرفه
      3- نیمه دوطرفه


      ارتباط در یک سیستم الکترونیکی نقش اساسی دارد . این ارتباط میتواند از طریق سیم(wire) و یا به صورت بیسیم (wireless)سریال یا موازی صورت پذیرد. ارتباط در یک جهت را simplex communication ودر این ارتباط همواره یکی به عنوان فرستنده اطلاعات و دیگری به عنوان گیرنده میباشد مثل مثلا تلوزیون که فقط اطلاعات رو میگره یعنی فقط گیرنده هست و انتن های صدا و سیما هم فقط میفرسته یعنی فقط فرستنده هست !! ارتباط در دو جهت را duplex communication مینامند در این ارتباط همزمان دستگاه مورد نظر هم میتونه فرستنده باشه و هم گیرنده مثل خط تلفن که همزمان میشه هم حرف زد هم گوش داد .Half duplexبه ارسال در دو جهت اطلاق میشوداما در هر لحظه تنها در یک جهت میتوان اطلاعات را ارسال نمود.

      [shadow=red,left][glow=red,2,300]پروتکل چیست ؟؟؟ [/glow][/shadow]

      ارتباط بین قطعات الکترونیکی معمولا بوسیله صفر و یک صورت میگیرد منطق مشترک و یا تفسیر مشترک بین هر دو وسیله ارسال کننده و دریافت کننده اطلاعات را پروتکل ارتباطی مینامند. در واقع مجموعه قوانیی که بین دو ماشین یا دستگاه پذیرفته میشه تا با هم بتونن تبادل اطلاعات بکنند ..

      امروزه پروتکل های ارتباطی زیادی از جمله استاندارد RS232،RS485،RS422،USB، CAN ... هستند.
      استفاده از صفرو پنج ولت برای انتقال اطلاعات ساده است اما در این حالت فقط از دو حالت میتوانیم استفاده کنیم. در واقع با یک سیگنال که تنها دو حالت رانشان میدهد

      اطلاعات بیشتری را نمی توان انتقال داد .در این حالت ما تنها دو سطح ولتاژی مجاز داریم ،با افزایش سطح ولتاژ های مجاز (مثلا به جای0 و 5 ولت ،0 و 2.5و5 ولت راسطح مجاز در نظر بگیریم)حجم اطلاعات ارسالی افزایش می یابد،اما در این حالت در سمتی که اطلاعات دریافت میشود امکان خطا به دلیل نویز و تضعیف بیشترمیشود.راه ارسال دیتا با حجم بیشتر کد کردن سیگنالها به صورت یک رشته است .به عنوان مثال اگر قرار باشد که ما یک سطح صفر و یک را ارسال کنیم ارسال به صورت رشته این امکان را به ما میدهد که ارسال 0 و سپس 5 را به عنوان حرف "A"فرض کنیم ،ارسال 5 و سپس 0 را به عنوان "B"فرض کنیم،ارسال 5 و سپس 5 را به عنوان "C" فرض کنیم.در واقع حجم اطلاعاتی که با این روش میتوان ارسال کرد نامحدود است.این نوع ارسال اطلاعات که بصورت یک رشته از سیگنال ها است اساس انتقال به صورت سریال را تشکیل میدهد. در استاندارد های گوناگون نظیر RS232،RS485،USB،إ¾CAN وغیره کاربرد دارد

      فعلا این ها باشه ...... تا بعد ........................ :nerd:
      مصادیق اظهار محبت به همسر
      بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
      ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
      اثر قصه گویی برای کودکان

      دیدگاه


        #63
        فصل دوازدهم رابط سریال

        [move][glow=red,2,300]فصل دوازدهم رابط سریال usart[/glow][/move]


        با سلام

        1- فرق usart با uart چیه ؟

        2- مسیر های ورودی و خروجی رو در صفحه 295 نوشته حالا میخوام بدونم مثلا وقتی یه میکرو بخواد با پورت سریال کامپیوتر ارتباط حالا سنکرون یا اسنکرون داشته باشه نحوه اتصال این پایه ها به پورت کامپیوتر چه جوری هست ؟؟ نظیر به نظیر به هم وصل میشن ؟؟

        3- منظور از 1.5 بیت چیه ؟؟؟ منظورم اینه که مگه بیت صحیح نباید باشه ؟؟ مثلا یه بیت یا دو بیت یا .... دیگه نیم اش چیه !!!!!!!

        4- فرض کنیم بخوایم بین میکرو کامپیوتر یه ارتباط سنکرون برقرار کنیم از طرفی بخوایم کلاک واحد سازنده نرخ انتقال رو خارجی بدیم یعنی باید به پایه sck میکرو کلاک خارجی مورد نظر رو بدیم با توجه به این که در حالت سنکرون باید کلاک هر دو وسیله یکی باشه حالا سوالم اینه که پایه sck مربوط به پورت com یا همون پورت سریال کامپیوتر رو باید کجا وصل کینم ؟؟؟؟

        5-صفحه 299 خط 5 ام از اخر که نوشته ""وقتی که کلاک خارجی ............CD فرد باشد """ منظورش چیه ؟؟

        6- در ارتباط سنکرون حالا چه با کارت هوشمند یا با کامپوتر باید حتما بیت CLKO در رجیستر US_MR یک بشه ؟؟

        7- در صفحه 340 خط دوم از اخر گفته مقدار بیت های FI_DI_RATIO میتونه بین 1 تا 2047 باشه که منطقی هم هست اما چرا تو صفحه 300 جدول 12-5 صرفا نسبت یه سری عدد خاص رو گفته !! حالا چه لزومی داشته که اومده درجدول 12-3 و 12-4 FI و DI هایی رو تعریف کرده و بعد هم توی 12-5 هم نسبتشون رو به دست اورده با توجه به این که میتونینم هر عدید بین 1 تا 2047 به FI_DI_RATIO د ررجیستر US_FIDI بدیم !!

        8 - توی صفحه 301 گفته "" مقادیر غیر صحیح برای نسبت FI/DI پذیرفته نیست "" اگه این طوره چرا تو نمونه هایی که برای FI/DI در جدول 12-5 صفحه 300 گفته خودش غیر صحصح هم آورده !!! چه قدر هم که زیاده !!!

        9- یه فریم یا قاب اطلاعاتی رو اگه بخوایم ارسال کنیم با فرض 8 بیت داده و یک STAST BIT و STOB BIT و PARITY BIT کلا میشه 11 بیت ... ولی چرا رجیستر نگهدارنده فرستنده US_THR ؛ 8 بیتی هست ؟؟؟ اصلا اگه بخوایم داده های 9 بیت باشه یعنی MODE9 رو یک کنیم با تنقلاتش 12 بیت میشه ولی رجیستر نگهدارنده 8 بیتی هست که !!!!

        10- اسم شیفت رجیستر فرستنده چیه ؟؟؟

        11-عملکر بیت توازن ثابت صفر یا ثابت یک در تشخیص خطا چه جوریه هست ؟؟؟ درست متوجه منظورش نشدم !!!

        12-چرا تو جدول 12-4 صفحه 300 مقدار دسیمال برای کد چهار بیتی 0001 و 0000 هر دو 372 هست ؟؟ دلیل خاصی داشته ؟؟

        :read: :read:............................................ .......................>>> :cry2:



        مصادیق اظهار محبت به همسر
        بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
        ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
        اثر قصه گویی برای کودکان

        دیدگاه


          #64
          پاسخ : سوالات کتاب at91 (نص)

          نوشته اصلی توسط hunybal
          درست اسم رجیستر تایمر نگهبان WDT_MR هست اما برای استفاده از ان باید WDTC_WDMR بنویسید.این تو رجیستر های دیگه هم ممکنه فرق داشته باشه برای مثال رجیستر مد ریست RSTC_MR هست اما توی برنامه اونو باید RSTC_RMR بنویسید
          من متوجه نشدم.ممکنه بیشتر توضیح بدید؟
          اسم رجیستر WDT_MR هست ولی ما باید WDTC_WDMR بنویسیم!چرا؟
          اگر اجبار وجود داره, اسم جدید هر رجیستر رو از کجا گیر بیاریم؟
          این ضعف کامپایلر نیست؟

          دیدگاه


            #65
            پاسخ : سوالات کتاب at91 (نص)

            در بالای صفحه 116 نوشته:
            PMC می تواند حتی کلاک میکروپروسسور را غیر فعال کند.
            در این صورت دیگه میکرو نباید کار کنه و برای همیشه باید غیر فعال بمونه , چون کلاک نداره که دستور جدید رو تفسیر کنه!!؟ اشکال من کجاست؟شاید منظورش غیر فعال شدن کلاک اصلی باشه و فرکانس پایه 32 کیلو هنوز اعمال بشه!

            در صفحه 117 بیت UDP فرکانس 48 مگا رو برای USB ایجاد می کنه.چرا روی این فرکانس تاکید هست؟به چه درد می خوره؟

            در صفحه 121 بیت های out رو داریم.مقدار این بیت ها رو از کجا باید پیدا کرد؟معیار این اعداد چیه؟
            این بیت ها کجا استفاده می شن؟ ظاهرا برای تعیین فرکانس PLL استفاده می شن,اما در فرمول پایین صفحه 115 هیچ اثری از OUT وجود نداره؟

            دیدگاه


              #66
              پاسخ : سوالات کتاب at91 (نص)

              سلام
              1. uart همان آسنکرون است و usart هم می تواند سنکرون باشد هم آسنکرون.

              2. پروژه 6 کتاب صفحه 436 را ببین. باید کابلی که استفاده می کنید به این صورت باشد که RX میکرو را به TX کامپیوتر و TX میکرو را به RX کامپیوتر وصل کنید و در ضمن باید زمین های هر دو را هم بهم وصل کنید.

              3. اون نیم بیت را فرستنده تولید می کند و گیرنده هم کلا همه آنها را به عنوان بیت توقف دریافت می کند و این حالت فقط در مد آسنکرون می باشد.

              4. پورت COM های 9 پین معمولی کامپیوتر فقط در مد آسنکرون کار می کند.
              http://www.aggsoft.com/rs232-pinout-cable/serial-cable-connections.htm

              5. گفته در مد سنکرون اگه از کلاک خارجی استفاده کنید که مقدار CD بی تاثیر است. اما اگر کلاک MCK/DIV را انتخاب کردید برای آنکه ضریب وظیفه کلاک خروجی بر روی پین SCK برابر 50 درصد باشد باید مقدار CD را زوج انتخاب کرد. اما اگر کلاک MCK را انتخاب کردید می توانید CD را فرد انتخاب کنید.

              6. برای ارتباط با کارت هوشمند چون آن نمی تواند خودش کلاک را برای سنکرون سازی تولید کند باید این بیت را یک کرد و توسط بیت های USCLKS هم نباید SCK انتخاب شده باشد. اما اگر با یک ماژول دیگر ارتباط سنکرون می خواهید برقرار کنید و آن ماژول خودش توانایی تولید کلاک برای سنکرون سازی را دارد و شما می خواهید از کلاک آن برای برقراری ارتباط استفاده کنید باید این بیت را صفر کنید.

              7. شما هر مقدار را بخواهید می توانید بدهید. اما احتمالا این اعداد که در جدول نوشته مقادیر رایج و استاندارد می باشد.

              8. خوب چون جدول را خواسته کامل بنویسد این کار را کرده است در هر صورت مقادیر غیرصحیح پذیرفته نیست.

              9. اولا 8 بیت نیست و 9 بیت هست برای داده ها که بتواند MODE9 را هم پشتیبانی کند. ثانیا اون تنقلاتی که شما گفتید را توسط رجیستر US_MR مشخص کرده اید و به صورت سخت افزاری آنها تولید و ارسال می شوند.

              10. شیفت رجیستر هست اما به آن به صورت مستقیم فکر نکنم دسترسی داشته باشیم.

              11. در این دو حالت بیت توازن ثابت ارسال می شود و هیچ ارتباطی با داده ندارد. بررسی خطا هم به این صورت هست که مثلا اگر بیت توازن را ثابت یک تنظیم کرده باشیم و در گیرنده بیت توازن به صورت صفر دریافت شود خطا رخ داده است.

              12. فکر کنم مثل جواب 7 باشد.

              دیدگاه


                #67
                پاسخ : سوالات کتاب at91 (نص)

                نوشته اصلی توسط MCC
                من متوجه نشدم.ممکنه بیشتر توضیح بدید؟
                اسم رجیستر WDT_MR هست ولی ما باید WDTC_WDMR بنویسیم!چرا؟
                اگر اجبار وجود داره, اسم جدید هر رجیستر رو از کجا گیر بیاریم؟
                این ضعف کامپایلر نیست؟
                اسم برخی از رجیسترها در هدر خود میکرو با دیتاشیت میکرو فرق دارد. دلیل منطقی آنرا نمی دانم. و دلیل ضعف نمی باشد حتما یک دلیلی دارد که برخی از آنها به این صورت است چون شرکت هایی که کامپایلر را ارائه کردند حتما دیتاشیت میکرو را دیدن. :biggrin:
                برای پیدا کردن اسم ها جدید اول می توانید در مثال ها و برنامه ها خود کتاب ببینید که چه اسمی را استفاده کرده است. اگر هم مواردی هست که در کتاب نیامده اگر از IAR استفاده می کنید مثلا برای 7s64 فایل ioat91sam7s64.h را در خود نرم افزار باز کنید. در بالای نرم افزار یک جایی هست که می توانید برای Find کردن تایپ کنید. شما در آنجا اسم های انگلیسی که در کتاب زیر اسم های فارسی رجیستر نوشته شده است را تایپ کنید و سپس دکمه Find Next را بزنید تا اسم جدید آنرا پیدا کنید.

                دیدگاه


                  #68
                  پاسخ : سوالات کتاب at91 (نص)

                  نوشته اصلی توسط MCC
                  در بالای صفحه 116 نوشته:
                  PMC می تواند حتی کلاک میکروپروسسور را غیر فعال کند.
                  در این صورت دیگه میکرو نباید کار کنه و برای همیشه باید غیر فعال بمونه , چون کلاک نداره که دستور جدید رو تفسیر کنه!!؟ اشکال من کجاست؟شاید منظورش غیر فعال شدن کلاک اصلی باشه و فرکانس پایه 32 کیلو هنوز اعمال بشه!

                  در صفحه 117 بیت UDP فرکانس 48 مگا رو برای USB ایجاد می کنه.چرا روی این فرکانس تاکید هست؟به چه درد می خوره؟

                  در صفحه 121 بیت های out رو داریم.مقدار این بیت ها رو از کجا باید پیدا کرد؟معیار این اعداد چیه؟
                  این بیت ها کجا استفاده می شن؟ ظاهرا برای تعیین فرکانس PLL استفاده می شن,اما در فرمول پایین صفحه 115 هیچ اثری از OUT وجود نداره؟
                  کلاک میکروپروسسور کاملا قطع می شود و هیچ دستوری را اجرا نمی کند و وارد حالت بی کاری می شود اما اگر وقفه بیاید واحد AIC کلاک میکروپروسسور را به صورت خودکار فعال می کند و میکروپروسسور وارد روال وقفه می شود. مثال 14-6 صفحه 391 یک نمونه برنامه برای این منظور هست.

                  5. واحد USB نیاز به 2 کلاک دارد یکی 48MHZ می باشد که این کلاک حتما باید 48M باشد که این توسط رجیستر PMC_SCER فعال می شود حالا این واحدی که در شکل 4-21 (USB CLOCK CONTROLLER) می بینید را توسط همین بیت فعال می کنید. ورودی این واحد از کلاک خروجی PLL می باشد و شما توسط بیت های جدول USBDIV می توانید آن مضارب کلاک را به ورودی این واحد اعمال کنید. که وظیفه این واحد می باشد که آنرا به 48MHZ برسوند. کلاک دومی که واحد USB نیاز دارد همان کلاک MCK می باشد که هر مقداری که شما تنظیم کرده باشید را استفاده می کند برای فعال کردن این کلاک از رجیسنر PMC_PCER و جدول 4-7 استفاده می شود.
                  در توضیح بیت OUT کاملا گفته است که توسط این بیت ها ماکزیمم فرکانس خروجی PLL را تنظیم می کنیم. برای ماکزیمم 160M برابر00 و برای ماکزیمم 200M برابر 10 قرار می دهیم. کاربردش فقط همین هست و در فرمول هم هیچ تاثیری ندارد. برای 7S و 7X که ماکزیمم فرکانس آن 55M هست آنرا برابر 00 قرار می دهیم. و در زمانی که داریم PLL را تنظیم می کنیم به این بیت ها هم مقدار میدهیم.

                  دیدگاه


                    #69
                    پاسخ : سوالات کتاب at91 (نص)

                    به یه مشکل خیلی بد تر بر خوردم. هیچ برنامه ای رو نتونستم تو آی سی پروگرم کنم. من از هدر برد های ECA استفاده می کنم. AT91SAM7X256 .
                    یکی از مثال های داخل DVD رو با IAR کامپایل کردم و با SAM سعی کردم داخل آی سی بریزم.ولی نشد.
                    اول به سالم بودن آی سی شک کردم ولی فایل bin چشمک زن رو که تو سایت eca بود داخل آی سی پروگرم کردم و به درستی کار کرد.
                    به نظر شما اشکال کار از کجاست؟
                    ممکنه راهنماییم کنید؟

                    دیدگاه


                      #70
                      پاسخ : سوالات کتاب at91 (نص)

                      نوشته اصلی توسط MCC
                      به یه مشکل خیلی بد تر بر خوردم. هیچ برنامه ای رو نتونستم تو آی سی پروگرم کنم. من از هدر برد های ECA استفاده می کنم. AT91SAM7X256 .
                      یکی از مثال های داخل DVD رو با IAR کامپایل کردم و با SAM سعی کردم داخل آی سی بریزم.ولی نشد.
                      اول به سالم بودن آی سی شک کردم ولی فایل bin چشمک زن رو که تو سایت eca بود داخل آی سی پروگرم کردم و به درستی کار کرد.
                      به نظر شما اشکال کار از کجاست؟
                      ممکنه راهنماییم کنید؟
                      مشکلت چیه؟ با کامپایل کردنش مشکل داری یا اینکه با پروگرم کردن؟ آخه شما داری میگی که یه برنامه دیگه رو ریختی و درست بوده. اگه اون برنامه خودت ایراد داره، حتماً از یه جای دیگست.

                      در کل پیشنهاد می کنم اگه مشکلت از برنامه نویسی هست توی این تاپیک ادامه ندی که تاپیک به هم نریزه.
                      دانش فني تا به عمل تبديل نشده، ذره اي ارزش نداره. اما بعضي وقت ها بايد از دانش براي باز کردن مرزهاي جديدي در علم استفاده کرد، نه اينکه اونها رو صرفاً فقط به عمل تبديل کرد.

                      دیدگاه


                        #71
                        پاسخ : سوالات کتاب at91 (نص)

                        نوشته اصلی توسط حامد پور آزاد
                        مشکلت چیه؟ با کامپایل کردنش مشکل داری یا اینکه با پروگرم کردن؟ آخه شما داری میگی که یه برنامه دیگه رو ریختی و درست بوده. اگه اون برنامه خودت ایراد داره، حتماً از یه جای دیگست.

                        در کل پیشنهاد می کنم اگه مشکلت از برنامه نویسی هست توی این تاپیک ادامه ندی که تاپیک به هم نریزه.
                        با تشکر از حامد عزیز
                        به خاطر کمک های فراوانش


                        اگه درست دقت می کردید نوشتم از مثال های کتاب که داخل DVD بود رو استفاده کردم. چه ربطی به برنامه نویسی داره.

                        اگه دوستان دیگه میتونن لطفا یه راهنمایی کنند. به طور کامل دستورات کتاب رو اجرا کردم.
                        کتاب با AT91SAM7S کار کرده و من با AT91SAM7x. اسم هدر رو تغییر دادم.

                        دیدگاه


                          #72
                          پاسخ : سوالات کتاب at91 (نص)

                          نوشته اصلی توسط MCC
                          با تشکر از حامد عزیز
                          به خاطر کمک های فراوانش


                          اگه درست دقت می کردید نوشتم از مثال های کتاب که داخل DVD بود رو استفاده کردم. چه ربطی به برنامه نویسی داره.

                          اگه دوستان دیگه میتونن لطفا یه راهنمایی کنند. به طور کامل دستورات کتاب رو اجرا کردم.
                          کتاب با AT91SAM7S کار کرده و من با AT91SAM7x. اسم هدر رو تغییر دادم.
                          درست دقت کردم دوست عزیز. و هنوز هم سر حرفم هستم. با این توضیحات که دادید قطعاً میگم اشکال از کده. چون شما اسم هدر رو تغییر دادی ولی شاید توی سری های مختلف رجیسترها با هم نخونه. در این مورد قبلاً بحث شده و جناب حامدAT91 گفته بودند که فقط تعدادی از رجیستر ها برابرند.

                          شما کدت رو دوباره بازنگری کن، و در ضمن اون رو در یک تاپیک جدا قرار بده تا دوستان بهش رسیدگی کنن. این تاپیک مخصوص مسائل کتاب هست.
                          دانش فني تا به عمل تبديل نشده، ذره اي ارزش نداره. اما بعضي وقت ها بايد از دانش براي باز کردن مرزهاي جديدي در علم استفاده کرد، نه اينکه اونها رو صرفاً فقط به عمل تبديل کرد.

                          دیدگاه


                            #73
                            پاسخ : سوالات کتاب at91 (نص)

                            نوشته اصلی توسط حامد پور آزاد
                            درست دقت کردم دوست عزیز. و هنوز هم سر حرفم هستم. با این توضیحات که دادید قطعاً میگم اشکال از کده. چون شما اسم هدر رو تغییر دادی ولی شاید توی سری های مختلف رجیسترها با هم نخونه. در این مورد قبلاً بحث شده و جناب حامدAT91 گفته بودند که فقط تعدادی از رجیستر ها برابرند.

                            شما کدت رو دوباره بازنگری کن، و در ضمن اون رو در یک تاپیک جدا قرار بده تا دوستان بهش رسیدگی کنن. این تاپیک مخصوص مسائل کتاب هست.
                            اشتباه می کنید.کد موردی نداره. دقیقا مثال 4-3 صفحه 142 هست. پس بحث سر کد نویسی نیست. اشکال من تو کامپایل و ایجاد فایل bin باید باشه.

                            دیدگاه


                              #74
                              پاسخ : سوالات کتاب at91 (نص)

                              سلام
                              تفاوت های سری 7S و 7X و تغییراتی که باید در برنامه و نرم افزار IAR باید در نظر بگیرید. برای آنکه بهتر بتوانید از مثال های کتاب برای 7X استفاده کنید.
                              سری 7S دارای یک پورت 32 پینی PIOA است. سری 7X دارای دو پورت 31 پینی PIOA,PIOB است.
                              سری 7X دارای CAN و Ethernet MAC می باشد.
                              سری 7S دارای یک واحد SPI می باشد. سری 7X دارای دو واحد SPI0,SPI1 می باشد.
                              برای وارد کردن میکرو در SAM-BA در سری 7S از پایه TST استفاده می شود اما در سری 7X از پایه ERASE استفاده می شود. (فصل 6)
                              در هر واحد رجیسترها کاملا مشابه می باشد و فرق چندانی ندارد در قسمت هایی که در کتاب می باشد اما مثلا در واحد USB سری 7S دارای 4 اندپوینت می باشد اما سری 7X دارای 6 اندپوینت می باشد.
                              برای شناسه دستگاه های جانبی در سری 7S از جدول 4-7 صفحه 118 استفاده می شود و در سری 7X باید از جدول صفحه 517 استفاده کرد.
                              برای حالت های A , B پین های ورودی و خروجی در سری 7S از جدول 4-14 صفحه 130 استفاده می شود و در سری 7X باید از جدول صفحات 519و520 استفاده کرد.
                              در برنامه هم باید هدر مربوط به هر کدام را استفاده کنید.
                              در تنظیمات پروژه در فصل 5 هم در شکل 5-7 باید میکرو خود را انتخاب کنید و در ضمن در شکل 5-10 هم باید فایل لینکر مربوط به میکروی خود را انتخاب کنید. که فایل های لینکر 7X هم در داخل CD کتاب می باشد.
                              برای استفاده از وقفه هم با توجه به توضیحات صفحه 381 به بعد باید از فایل های مربوط به 7X استفاده کرد که این فایل ها هم داخل CD همراه کتاب است.
                              فایل های lcd,glcd,keypad برای 7S می باشد و برای PIOA نوشته شده است و برای 7X می توانید از آنها استفاده کنید و باید آنها را به PIOA متصل نمایید و تغییراتی نیاز نیست ایجاد نمایید و فقط باید هدر 7X را در آن include نمایید. و برای PIOB باید تغییرات لازم را در هدرها لحاظ نمایید.
                              در مورد تابع های delay هم که در فصل 4 استفاده شده اگر با آنها مشکل داشتید و تابع به درستی کار نکرد تایپیک زیر را مطالعه نمایید و یکی از روش های آنجا را استفاده کنید تا تابع به درستی کار کند.
                              http://www.eca.ir/forum2/index.php?topic=47811.0

                              دیدگاه


                                #75
                                پاسخ : سوالات کتاب at91 (نص)

                                سلام
                                یه سوال داشتم از اساتید...
                                تو این عکس چطور این فلش سبزه رو میشه به قسمت main اورد



                                قبلا همینجا بود ولی نمیدونم چی شد رفت تو قسمت اسمبلی در ضمن طریقه دیباگ بصورت سخت افزاری رو با IAR کسی میدونه اخه بعضی موقعها میشه بعضی وقتا هم نمیشه
                                ذكات علم ياد دادنه ....

                                دیدگاه

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