اطلاعیه

Collapse
No announcement yet.

مشکل در ارتباط سریال با سی شارپ

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

    مشکل در ارتباط سریال با سی شارپ

    سلام خدمت همگی...
    بنده میخوام با برنامه ای که با زبون #C نوشتم با میکرو تبادل دیتا کنم...از آیسی FT232RL واسه تبدیل USB به سریال استفاده میکنم....
    مشکلی که هست اینه که وقتی تغذیه مدار رو قطع میکنم خازن کم کم تخلیه میشه و کاراکترهای عجیب غریب میفرسته واسه برنامه....
    مقدار Brown out رو هم روی 4 ولت تنظیم کردم ولی فایده ای نداشت...
    به نظرتون راه دیگه ای وجود داره؟
    با تشکر
    تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

    www.intelart.ir


    ساخت کنترلر دما PID فازي با AVR [آموزشی]

    #2
    پاسخ : مشکل در ارتباط سریال با سی شارپ

    نوشته اصلی توسط punisher.x64
    سلام خدمت همگی...
    بنده میخوام با برنامه ای که با زبون #C نوشتم با میکرو تبادل دیتا کنم...از آیسی FT232RL واسه تبدیل USB به سریال استفاده میکنم....
    مشکلی که هست اینه که وقتی تغذیه مدار رو قطع میکنم خازن کم کم تخلیه میشه و کاراکترهای عجیب غریب میفرسته واسه برنامه....
    مقدار Brown out رو هم روی 4 ولت تنظیم کردم ولی فایده ای نداشت...
    به نظرتون راه دیگه ای وجود داره؟
    با تشکر
    سلام
    قبل از هر پکتی که میخوای ارسال کنی 2 بایت به صورت بایت شروع بفرسته و تو قسمت کامپیوتر هم باید ابتدا این دو بایت رو شناسایی کنی و بعد داده ...
    در کل اگر دوبایت برای شروع بفرستید و بعد داده و بعد یک بایت برای اتمام پکت باشه خیلی بهتره و هیچ وقت به اینجور مشکلات برنمی خورید ...
    شاید موقع قطع تغذیه اون داده های عجیب و غریب رو بفرسته ولی برای کامپیوتر شناخته شده نیست ...
    این کار رو بکنید ... اگر جواب نداد یه راه حل سخت افزاری بهتون میدم ...
    موفق باشید
    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
    معرفی نرم افزار Codewizard PWM
    با من بیشتر آشنا شوید

    دیدگاه


      #3
      پاسخ : مشکل در ارتباط سریال با سی شارپ

      نوشته اصلی توسط Saman.Asadi
      سلام
      قبل از هر پکتی که میخوای ارسال کنی 2 بایت به صورت بایت شروع بفرسته و تو قسمت کامپیوتر هم باید ابتدا این دو بایت رو شناسایی کنی و بعد داده ...
      در کل اگر دوبایت برای شروع بفرستید و بعد داده و بعد یک بایت برای اتمام پکت باشه خیلی بهتره و هیچ وقت به اینجور مشکلات برنمی خورید ...
      شاید موقع قطع تغذیه اون داده های عجیب و غریب رو بفرسته ولی برای کامپیوتر شناخته شده نیست ...
      این کار رو بکنید ... اگر جواب نداد یه راه حل سخت افزاری بهتون میدم ...
      موفق باشید
      سلام...خیلی ممنونم از پاسختون....من همین کار رو کردم ولی به جای 2بایت 1بایت میفرستادم...که بعضی وقتا از شانس من همون 1 بایت اشتباهی فرستاده میشد!
      بله 2 بایت کنم بهتره...یا مثلا یه روش محاسباتی بزارم که بهش check sum هم میگن ولی مشکل اینجاست که سمت میکرو محدودیت دارم....با اینکه کریستال 16مگ گذاشتم ولی باز هم بعضی وقتا کند میشه و نمیتونم محاسبات اضافی بهش تحمیل کنم...
      اگه خازن ظرفیت بالا رو از ورودی تغذیه میکرو بردارم درست میشه ولی خب نمیشه اینکارو کرد...
      اگه امکانش هست همون راه سخت افزاری رو بم بگید...فک کنم اینطور بهتر باشه...
      یک دنیا سپاس
      تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

      www.intelart.ir


      ساخت کنترلر دما PID فازي با AVR [آموزشی]

      دیدگاه


        #4
        پاسخ : مشکل در ارتباط سریال با سی شارپ

        نوشته اصلی توسط punisher.x64
        سلام...خیلی ممنونم از پاسختون....من همین کار رو کردم ولی به جای 2بایت 1بایت میفرستادم...که بعضی وقتا از شانس من همون 1 بایت اشتباهی فرستاده میشد!
        بله 2 بایت کنم بهتره...یا مثلا یه روش محاسباتی بزارم که بهش check sum هم میگن ولی مشکل اینجاست که سمت میکرو محدودیت دارم....با اینکه کریستال 16مگ گذاشتم ولی باز هم بعضی وقتا کند میشه و نمیتونم محاسبات اضافی بهش تحمیل کنم...
        اگه خازن ظرفیت بالا رو از ورودی تغذیه میکرو بردارم درست میشه ولی خب نمیشه اینکارو کرد...
        اگه امکانش هست همون راه سخت افزاری رو بم بگید...فک کنم اینطور بهتر باشه...
        یک دنیا سپاس
        یک بایت خطا داره ...
        دو بایت خیلی کمتر ...
        سه بایت غیر ممکنه خطا داشته باشه ... :mrgreen:
        پردازش زیاد ؟
        یه شرط ساده ...
        کد:
        if(data[0]=='D' && data[1]==':')
        {
        	//.......
        }
        نترس ... پردازش زیاد نمیگیره ...
        توی یه پروژه یه رشته رو چک میکردم که ببینم درسته یا نه ... ولی با این وجود پردازش کم نیآورم ...
        در ضمن چرا کریستال 16 مگاهرتز گذاشتین ؟؟؟
        شما که میخواین با USART کار کنید باید حتما از کریستالهای مخصوص USART استفاده کنید ...
        کریستال 14.7456 مگا هرتز بگذارید ...

        موفق باشید
        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
        معرفی نرم افزار Codewizard PWM
        با من بیشتر آشنا شوید

        دیدگاه


          #5
          پاسخ : مشکل در ارتباط سریال با سی شارپ

          نوشته اصلی توسط Saman.Asadi
          یک بایت خطا داره ...
          دو بایت خیلی کمتر ...
          سه بایت غیر ممکنه خطا داشته باشه ... :mrgreen:
          پردازش زیاد ؟
          یه شرط ساده ...
          کد:
          if(data[0]=='D' && data[1]==':')
          {
          	//.......
          }
          نترس ... پردازش زیاد نمیگیره ...
          توی یه پروژه یه رشته رو چک میکردم که ببینم درسته یا نه ... ولی با این وجود پردازش کم نیآورم ...
          در ضمن چرا کریستال 16 مگاهرتز گذاشتین ؟؟؟
          شما که میخواین با USART کار کنید باید حتما از کریستالهای مخصوص USART استفاده کنید ...
          کریستال 14.7456 مگا هرتز بگذارید ...

          موفق باشید
          خیلی ممنونم...
          آره پس همون 2بایت میزارم...

          واسه این کریستال 16 گذاشتم چون سرعت پردازش خیلی واسم مهمه...
          کریستال دقیق تو این محدوده که از 14 بیشتر باشه نداریم؟
          با همین 16 هم خوب کار میکنه...تنها مشکلم سر قطع شدن تغذیه ست که اونم با همین ارسال 2بایت درست میشه دیگه...
          تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

          www.intelart.ir


          ساخت کنترلر دما PID فازي با AVR [آموزشی]

          دیدگاه


            #6
            پاسخ : مشکل در ارتباط سریال با سی شارپ

            نوشته اصلی توسط punisher.x64
            خیلی ممنونم...
            آره پس همون 2بایت میزارم...

            واسه این کریستال 16 گذاشتم چون سرعت پردازش خیلی واسم مهمه...
            کریستال دقیق تو این محدوده که از 14 بیشتر باشه نداریم؟
            با همین 16 هم خوب کار میکنه...تنها مشکلم سر قطع شدن تغذیه ست که اونم با همین ارسال 2بایت درست میشه دیگه...
            شما با این کریستال درصد خطا دارید
            چرا هست
            18.4320 هم هست که به دردتون نمیخوره ...
            همون 14.7456 هم خوبه ...
            زیاد سخت نگیر
            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
            معرفی نرم افزار Codewizard PWM
            با من بیشتر آشنا شوید

            دیدگاه


              #7
              پاسخ : مشکل در ارتباط سریال با سی شارپ

              یه usb to com آماده بخر قمیتش هم 7.500 هست
              ارزش این همه درد سر رو هم نداره
              مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

              دیدگاه


                #8
                پاسخ : مشکل در ارتباط سریال با سی شارپ

                نوشته اصلی توسط punisher.x64
                سلام...خیلی ممنونم از پاسختون....من همین کار رو کردم ولی به جای 2بایت 1بایت میفرستادم...که بعضی وقتا از شانس من همون 1 بایت اشتباهی فرستاده میشد!
                بله 2 بایت کنم بهتره...یا مثلا یه روش محاسباتی بزارم که بهش check sum هم میگن ولی مشکل اینجاست که سمت میکرو محدودیت دارم....با اینکه کریستال 16مگ گذاشتم ولی باز هم بعضی وقتا کند میشه و نمیتونم محاسبات اضافی بهش تحمیل کنم...
                اگه خازن ظرفیت بالا رو از ورودی تغذیه میکرو بردارم درست میشه ولی خب نمیشه اینکارو کرد...
                اگه امکانش هست همون راه سخت افزاری رو بم بگید...فک کنم اینطور بهتر باشه...
                یک دنیا سپاس
                حتما stopbit و parity را فعال کن، احتمالا میتونه کمک کنه

                دیدگاه


                  #9
                  پاسخ : مشکل در ارتباط سریال با سی شارپ

                  نوشته اصلی توسط Saman.Asadi
                  شما با این کریستال درصد خطا دارید
                  چرا هست
                  18.4320 هم هست که به دردتون نمیخوره ...
                  همون 14.7456 هم خوبه ...
                  زیاد سخت نگیر
                  باشه پس همینو استفاده میکنم...
                  خیلی ممنونم...مشکل دیگه ای بود دوباره میام! :biggrin:

                  اضافه شده در تاریخ :
                  نوشته اصلی توسط NimaAryamehr
                  یه usb to com آماده بخر قمیتش هم 7.500 هست
                  ارزش این همه درد سر رو هم نداره
                  خب منم از همین ماژول دارم استفاده میکنم....همین مازول ها هم اکثرا با FT232RL کار میکنند...البته خود چیپ رو هم خریدم که روی برد کنار میکرو بزارمش...

                  اضافه شده در تاریخ :
                  نوشته اصلی توسط hamedf_hamedf
                  حتما stopbit و parity را فعال کن، احتمالا میتونه کمک کنه
                  Stop Bit که فعال و غیر فعال نداره! وجودش لازمه...یا 1 یا 1.5 یا 2
                  Parity هم فقط وجود خطا رو نشون میده...تصحیحش نمیکنه و حتی نمیشه فهمید مشکل از کجاست...تازه اگه به تعداد زوج بیت ها معکوس بشند که اصلا نمیشه وجود خطا رو تشخیص داد...
                  تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                  www.intelart.ir


                  ساخت کنترلر دما PID فازي با AVR [آموزشی]

                  دیدگاه


                    #10
                    پاسخ : مشکل در ارتباط سریال با سی شارپ

                    سلام
                    مشکلتون حل شد؟
                    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                    معرفی نرم افزار Codewizard PWM
                    با من بیشتر آشنا شوید

                    دیدگاه


                      #11
                      پاسخ : مشکل در ارتباط سریال با سی شارپ

                      نوشته اصلی توسط Saman.Asadi
                      سلام
                      مشکلتون حل شد؟
                      سلام...ممنونم از لطفتون...والا این چند وقته میانترم دارم! اینا رو از سر رد کنم دوباره میام سراغ ادامه کار... :mrgreen:
                      تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                      www.intelart.ir


                      ساخت کنترلر دما PID فازي با AVR [آموزشی]

                      دیدگاه


                        #12
                        پاسخ : مشکل در ارتباط سریال با سی شارپ

                        نوشته اصلی توسط punisher.x64
                        سلام...ممنونم از لطفتون...والا این چند وقته میانترم دارم! اینا رو از سر رد کنم دوباره میام سراغ ادامه کار... :mrgreen:
                        امیدوارم که امتحاناتون رو با موفقیت پشت سر بگذارید
                        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                        معرفی نرم افزار Codewizard PWM
                        با من بیشتر آشنا شوید

                        دیدگاه

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