NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3800 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 15 از 15

موضوع: سوال در مورد نحوه ذخیره اطلاعات خروجی از سریال میکرو...

  1. #1
    عضو جدید
    تاریخ عضویت
    Nov 2011
    نوشته ها
    9
    تشکر
    9
    تشکر شده 1 بار در 1 پست

    Exclamation سوال در مورد نحوه ذخیره اطلاعات خروجی از سریال میکرو...

    سلام به همگی
    بزارین ایجوری بپرسم، یک دستگاه master یه سری اطلاعات از طریق پورت سریال خروجی میده.
    حالا من میخوام در یک بازه زمانی خاص، اطلاعاتی رو که master به slave میده و باعث میشه که مثلا پورت های خروجی slave رفتار خاصی داشته باشند، رو ذخیره کنم، به طوری که دیگه برای دستیابی به اون اطلاعات و رفتار، نیازی به master نباشه و خود slave به تنهایی کار کنه.
    این اطلاعات دائم روی چند تا متغییر محدود در slave تغییر میکنه، یعنی کار من با چند تا متغییر بیشتر نیست. من اطلاعات رو از master میگیرم و اونارو در آن واحد میریزم تو اون متغیر ها، پس در نتیجه مقدار متغییر ها دائم در حال عوض شدن است، و نمیشه اونو توی eeprom ذخیره کرد
    این کارو میخوام با avr انجام بدم، به ذهن خودم هیچی نرسیده،
    لطفا کمکم کنید، پیشنهاد بدید ممنون میشم، دمتون گرم

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    کاربر فعال shahrivar88 آواتار ها
    تاریخ عضویت
    Jul 2011
    نام
    امیر عزیزی
    نوشته ها
    243
    تشکر
    173
    تشکر شده 201 بار در 109 پست

    پیش فرض

    چرا نمیشه داده رو تو eeprom ذخیره کرد؟ داده شما از نظر حجم و زمان آپدیت شدن چه ویژگی هایی داره؟ولی eeprom و مموری کارت میتونن برای ذخیره داده استفاده بشن.

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

    اگر بیشتر موضوع رو باز کنید بیشتر میتونم کمکتون کنم.
    سرزمین من\r

    دانلود کتاب آموزش پورت سریال در c#

    http://www.iranmicro.ir/forum/showthread.php?t=9629

  4. کاربران : 3 تشکر کرده اند از شما shahrivar88 برای ارسال این پست سودمند:


  5. #3
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    نیازی به ذخیره کردن eeprom نیست در متغییرهای از جنس SRAM تغییرات را انجام بدهید . اگر باید اخرین اطلاعات باید در صورت قطع برق نگهداری شود شما اون موقع در حافظه eeprom ذخیره کنید ، چون نمی تونید پس از هر دفعه تغییرات اونو در این حافظه ذخیره کنید چون محدودیت نوشتن دارد. به خصوص در میکروی AVR که 100000 بیشتر نیست .

  6. کاربران : 4 تشکر کرده اند از شما Ma3ood برای ارسال این پست سودمند:


  7. #4
    عضو جدید
    تاریخ عضویت
    Nov 2011
    نوشته ها
    9
    تشکر
    9
    تشکر شده 1 بار در 1 پست

    پیش فرض

    ببینین برای مثال تو slave من دو متغییر به نام های A1 - A2 از جنس بایت تعریف شده اند. حالا من طبق برنامه ریزی که تو master انجام دادم این دو متغیر از لحظه روشن شدن دستگاه ها و وصل شدن ارتباط شروع به تغییر حالت میدهند، برای مثال در ثانیه اول A1=105 و A2=255 اعشاری باشن بعد در ثانیه دوم هردو مقدار 10 اعشار داشته باشند تا لحظه ای که حلقه دوباره در master تکرار میشه. این حلقه میتونه خیلی گنده باشه.
    حالا من میخوام این تغییرات رو یعنی از ابتدا شروع حلقه تا پایانش رو به همون ترتیبی که داشته ضبط و ذخیره کنم. و در دفعه بعد دیگه نیاز به master نباشه و slave خودش اون حلقه رو به همون ترتیب و زمان بندی که بوده تکرار کنه.
    یه جورایی ساده بگم میخوام master سلیو رو برنامه ریزی کنه یا همون ضبط حالات رخ داده در میکرو.
    اگر میتونین یکم بیشتر توضیح بدید در مورد حافظه های sram و xram من تو محیط بسکام کار میکنم.
    با تشکر از راهنماییتون. دمتون گرم
    ویرایش توسط amindarvish : 15-11-2013 در ساعت 16:36

  8. #5
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    خوب بهترین راهش میتونه ذخیره در یک ارایه باشه البته خیلی خیلی دیگه نه طولانی بعد میتونی در یک فرصت مناسب این ارایه را در eeprom ذخیره کنی و بعد از روشن شدن میکروی slave اونو فراخونی کنی و ازش استفاده کنی شما در ابتدا بعد روشن شدن میکرو master تمامی تغییرات را در یک و یا چند ارایه ذخیره کن (اگه خیلی خیلی طولانی باشه مجبور به استفاده از حافظه خارجی میشی ) بعد اون در حافظه دایم

  9. تشکرها از این نوشته :


  10. #6
    عضو جدید
    تاریخ عضویت
    Nov 2011
    نوشته ها
    9
    تشکر
    9
    تشکر شده 1 بار در 1 پست

    پیش فرض

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

  11. #7
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

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

  12. تشکرها از این نوشته :


  13. #8
    عضو جدید
    تاریخ عضویت
    Nov 2011
    نوشته ها
    9
    تشکر
    9
    تشکر شده 1 بار در 1 پست

    پیش فرض

    ترتیبش درست، زمانش چی؟ زمانو چطور ذخیره کنم؟

  14. #9
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    زمان هم میشه ولی خوب الان دیگه نیاز به حافظه خارجی پیدا می کنید و یا میکروی با حافظه بالا
    ولی به نظرم راههای دیگه ای هم باید باشه برای کاری که میخواهید انجام بدهید خوب اگه قرار باشه تمامی اعمال را عینا تکرار بشه چرا دیگه اینهمه به خودمون باید زحمت ثبتشو بدهیم چرا از میکرو اصلی استفاده نکنیم ؟

  15. کاربران : 2 تشکر کرده اند از شما Ma3ood برای ارسال این پست سودمند:


  16. #10
    عضو جدید
    تاریخ عضویت
    Nov 2011
    نوشته ها
    9
    تشکر
    9
    تشکر شده 1 بار در 1 پست

    پیش فرض

    با تشکر، خوب به خاطر این که master کامپیوتره و از طریق نرم افزار روی pc روی slave ها تاثیر میذاره.
    من نمیخواهم برای هر slave یک pc اشغال شه. میخوام یه جوری باشه که یه بار بیشتر بهش متصل نشه دیگه.
    با تشکر اگه برای ذخیره سازیش(زمان) بیشتر توضیح بدید ممنون میشم.

  17. #11
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    شما میتونی از پروتکلی شبیه به can راه اندازی کنی . شاید بتونید از تمامی این دردسرها خلاص بشوید
    در مورد کارتون هم بیشتر توضیح بدهید .

  18. تشکرها از این نوشته :


  19. #12
    عضو جدید
    تاریخ عضویت
    Nov 2011
    نوشته ها
    9
    تشکر
    9
    تشکر شده 1 بار در 1 پست

    پیش فرض

    با تشکر دوباره، ببینین من یک نرم افزار داخل کامپیوتر دارم، که این نرم افزار از طریق usb به یک رابط کنترل وصل میشه، نرم افزار و رابط هردو انحصاری شرکت خارجی هستند. من فقط slave هارو میتونم درست کنم، که چیزه زیادیهم ندارن، فقط دارن چند تا موتور رو کنترل میکنن. من فقط با دستورات پورت سریال و کاتالوگ خود رابط میتونم دیتا های ارسالی رابط رو در slave به کار بگیرم. تا اینجا مشکلی نیست.
    حالا من چون صرفا فقط یک دونه از اون رابط ها دارم، و تهیه اون مشکله، میخوام برای راحتی کار، slave ی رو درست کنم که با یک بار وصل شدن به رابط و انجام وظایفش اون حالت رو دخیره کنه، که دیگه من این slave رو از اون رابط جدا کنم و خودش به طور مستقل کار کنه.
    تمام کاری که می خوام انجام بدم همینه.
    اگه میشه راهنمایی کنین، که چه خصوصیتی در Can وجود داره که به درد من میخوره؟

  20. #13
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

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

  21. تشکرها از این نوشته :


  22. #14
    عضو جدید
    تاریخ عضویت
    Nov 2011
    نوشته ها
    9
    تشکر
    9
    تشکر شده 1 بار در 1 پست

    پیش فرض

    با تشکر از شما.
    این طور که به نظر میاد کار غیر ممکن میخوره. چون من باید مثلا بشینم با شبیه ساز یا اسیلسکوپ تک تک پالس هارو با زمانش یادداشت کنم، بعد بگیرم یکی عین اون رو بسازم. و از اونجایی که طول زمان پاس متغیره بینهایت حالت وجود داره برای این کار. پس غیر ممکن میشه.
    پروتوکل RS232 هستش، بازم اگه کاری به نظرتون میرسه، که بشه انجام داد بگید. ممنون میشم.
    با تشکر از شما.

  23. #15
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

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

  24. تشکرها از این نوشته :


مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •