اطلاعیه

Collapse
No announcement yet.

کتابخانه ای برای ارسال سریال به صورت نرم افزاری

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

    کتابخانه ای برای ارسال سریال به صورت نرم افزاری

    همونطور که می دونید معمولا AVRها یک یا دو یا چهار پورت سریال (USART یا UART) دارند که گاهی اوقات این تعداد کافی نیست و ممکنه به خطوط سریال بیشتری نیاز داشته باشید. همچنین گاهی اوقات بدلیل محدودیت های PCB و یا نیاز به یک پورت کامل ممکنه جابحا کردن پایه ی TX و RX مطلوب باشه. کتابخانه ای که ضمیمه کردم رو به این منظور نوشتم. این کتابخانه این امکان رو به کاربر میده که یک رشته رو از طریق یک پایه ی دلخواه به صورت سریال ارسال کنه. :smile:

    زبان برنامه نویسی: C
    کامپایلر: CodeVisionAVR
    فایل های پیوست شده
    There is nothing so practical as a good theory. — Kurt Lewin, 1951

    #2
    پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

    برای دریافت چی کتابخانه ای چیزی یا راهنمایی سراغ ندارید.
    محمد حسین سعادت فر

    ---------------------------------------------
    آنچه خود داشت زبيگانه تمنا مي كرد....

    دیدگاه


      #3
      پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

      نوشته اصلی توسط سعادت فر
      برای دریافت چی کتابخانه ای چیزی یا راهنمایی سراغ ندارید.
      سلام،

      من هنوز ننوشتم اما آماده کردنش زیاد مشکل نیست. باید از پایه ی وقفه ی خارجی استفاده کنید.
      There is nothing so practical as a good theory. — Kurt Lewin, 1951

      دیدگاه


        #4
        پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

        این اینک هم شاید به درد بخوره با کدویژن نوشته شده و از اینتراپت هم استفاده کرده
        این صفحه اصلی
        http://www.hpinfotech.ro/html/download.htm
        اینم لینک مستقیم
        http://www.hpinfotech.ro/softuart.zip
        Don't hesitate to ask any question ..

        دیدگاه


          #5
          پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

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


          تا تکاور به تن زخمی خود جان دارد....مرز اسلام در این ملک نگهبان دارد.........

          دیدگاه


            #6
            پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

            نوشته اصلی توسط رضا سپاس یار
            همونطور که می دونید معمولا AVRها یک یا دو یا چهار پورت سریال (USART یا UART) دارند که گاهی اوقات این تعداد کافی نیست و ممکنه به خطوط سریال بیشتری نیاز داشته باشید. همچنین گاهی اوقات بدلیل محدودیت های PCB و یا نیاز به یک پورت کامل ممکنه جابحا کردن پایه ی TX و RX مطلوب باشه. کتابخانه ای که ضمیمه کردم رو به این منظور نوشتم. این کتابخانه این امکان رو به کاربر میده که یک رشته رو از طریق یک پایه ی دلخواه به صورت سریال ارسال کنه. :smile:

            زبان برنامه نویسی: C
            کامپایلر: CodeVisionAVR
            ظاهرا شما از پریتی استفاده نکردید. هم چنین تعیین بود ریت هم تو کتابخونه تون امکان پذیر نیست.
            براي جوينده ي علم محدوديتي نيست. "ولو بالسين"

            دیدگاه


              #7
              پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

              سلام دوستان،

              وقت همگی بخیر...
              من چند روزی هست درگیر دریافت نرم افزاری از ارتباط سریال هستم.. من Application note به نام AVR304 رو خوندم ، سعی کردم بر اساس توضیحات داده در این اپلیکیشن نوت، یه برنامه ساده بنویسم که جواب نداد... فک می کنم فهمیدم چه طور باید با وقفه خارجی و تایمر کار کنم :smile:

              از طرف دیگه، همون کد نوشته شده توسط اتمل رو به طور کامل برای کدویژن تغییر دادم، ولی بازم جواب نگرفتم... الان دیگه نمی دونم چیکار کنم.. کسی می تونه راهنمایی کنه؟

              ممنون رفقا
              همیشه بزرگوار تر از آن باشید که برنجید
              و نجیب تر از آن باشید که برنجانید!

              دیدگاه


                #8
                پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

                سلام
                تقدیم
                http://cdn.persiangig.com/download/PGTOEn/dl
                البته تستش نکردم
                Don't hesitate to ask any question ..

                دیدگاه


                  #9
                  پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

                  سلام
                  توی گوگل software uart avr c code جستجو کنید.
                  فایل زیر رو هم بررسی کنید.
                  http://cdn.persiangig.com/download/6jV4dK/dl
                  شبنم از سعی به سرچشمه خورشید رسید صائب تبریزی

                  دیدگاه


                    #10
                    پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

                    ممنون دوستان
                    بررسی می کنم نتیجه رو اعلام می کنم

                    ممنون از لطفتون...
                    همیشه بزرگوار تر از آن باشید که برنجید
                    و نجیب تر از آن باشید که برنجانید!

                    دیدگاه


                      #11
                      پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

                      ارسال کار راحتی هستش. ولی دریافت یکم دردسر داره. چون واسط سخت افزاری وجود نداره باید اطمینان بشه که داده ها بدون مشکل دریافت میشن و هیچ داده ای از دست نمیره. اگه پردازنده در زمان مناسب نتونه به ورودی واکنش نشون بده. داده ها ناقص میشن. (مگه اینکه سرعت ارتباط کم و کنترل شده باشه)
                      به نظرم استفاده از اینتراپت به تنهایی تضمین نمیکنه که داده ها درست دریافت بشن. ( آیا اینتراپت به چند بیت یکسان پشت هم واکنش نشان خواهد داد؟ - برای نمونه اگر در داده دریافتی الگوی 10011100 وجود داشته باشد اینتراپت برای سه 1 پشت هم به تعداد مناسب واکنش نشان میدهد؟)

                      این احتمال هست که با استفاده از یک ای سی واسط این کار را در خارج از میکرو انجام دهیم (مانند شیفت رجیستر) و پس از دریافت مثلا هشت بیت آنگاه وقفه میکرو را فراخوانی کنیم تا داده را بخواند. ولی این کار هم دردسر های خودشو داره و شاید استفاده از یه میکرو دیگه که داده ها رو دریافت کنه و اونو از راه مثلا SPI به میکرو بفرسته بصرفه تر و کم دردسرتر باشه.

                      If the wind will not serve, take to the oars

                      دیدگاه


                        #12
                        پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

                        کسی هنوز راه حلی نتونسته پیدا بکنه واسه دریافت؟

                        دیدگاه


                          #13
                          پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

                          نوشته اصلی توسط secbyte نمایش پست ها
                          کسی هنوز راه حلی نتونسته پیدا بکنه واسه دریافت؟
                          با سلام و احترام. آردوینو یه کتابخانه به اسم SoftwareSerial داره میتونید از اون ایده بگیرید. البته یکسری محدودیتها داره که در توضیحاتش اومده. مهمترینش اینه که اگر از چند پورت سریال نرم افزاری استفاده کنید تنها یکی از اونها در هر لحظه میتونه دیتا دریافت کنه. https://www.arduino.cc/en/Reference/softwareSerial

                          دیدگاه


                            #14
                            پاسخ : کتابخانه ای برای ارسال سریال به صورت نرم افزاری

                            براساس تحقیقاتی که کردم روش های سخت افزاری فعلا بهتر و آسون تر بودن مثل استفاده از ایسی 4066 و یا مالتی پلکسر max232 . بازم ممنون

                            دیدگاه

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