اطلاعیه

Collapse
No announcement yet.

خوندن و استخراج رشته String در PIC

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

    خوندن و استخراج رشته String در PIC

    با سلام
    من میخوام یه سری Data از طریق پورت USART از SIM908 با میکروی PIC18F26K22 بخونم
    این Data مربوط به GPS ماژول است که باید بعد از ارسال هر دستور چک کنم ببینم اگر ماژول OK رو برام فرستاد ادامه بده
    و این که الان Data رو روی Hyper Terminal راحت دریافت میکنم
    مشکلم با برنامه نویسی میکروست که چطور مثلا یه رشته مثل زیر بگیره و فقط OK رو جدا کنه و بگه اگه OK بود برو مرحله بعد
    Enter SIM908 V.1.02 AT OK Enter
    الان میخوام این OK رو از وسط Data استخراج کنم و بر اساس اون شرط تعریف کنم
    با MPLABX و به C مینویسم
    از دوستان اگر کس بلده ممنون میشم راهنماییم کنن
    درایور شبکه و nRF24L01
    کاتالوگ محصولات
    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC

    #2
    پاسخ : خوندن و استخراج رشته String در PIC

    سلام
    می تونین آرایه ای از بایت تعریف کنید و داده های دریافتی رو در آن بریزین و با جستجوی باینری کارکترتون در پالایش آرایه با یک حلقه داده هاتون رو در رشته جستجو و پیدا کنین) مثلا اگر کارکتر O رو پیدا کردین و خانه بعدی یعنی i+1 برابر مقدار کارکتر K بود می تونین مطمئن باشین که داده OK را دریافت کردین
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

    دیدگاه


      #3
      پاسخ : خوندن و استخراج رشته String در PIC

      نوشته اصلی توسط baby_1
      سلام
      می تونین آرایه ای از بایت تعریف کنید و داده های دریافتی رو در آن بریزین و با جستجوی باینری کارکترتون در پالایش آرایه با یک حلقه داده هاتون رو در رشته جستجو و پیدا کنین) مثلا اگر کارکتر O رو پیدا کردین و خانه بعدی یعنی i+1 برابر مقدار کارکتر K بود می تونین مطمئن باشین که داده OK را دریافت کردین
      دقیقا منم دنبال همین بودم
      ولی مشکلی که دارم وقتی قراره GPS همش Data بفرسته یا دستوری صادر میشه Data از ماژول میرسه طول داده دریافتی مشخص نیست
      و وقتی میخونم Data رو اگر خوندن ادامه داشته باشه و ماژول هیچی نفرسته برنامه هنگ میکنه و نمیفهمی چی شد
      برای اینش چیکار کنم؟!
      درایور شبکه و nRF24L01
      کاتالوگ محصولات
      کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
      شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
      فروش اسيلوسکوپ GWinstek GOS-630FC

      دیدگاه


        #4
        پاسخ : خوندن و استخراج رشته String در PIC

        سلام
        آقای بسطامی برای این کار همیشه طول آرایه داده رو بیشتر در نظر می گیرن تا مطمئن باشین که تمامی داده ها رو دریافت کردین و سپس جستجو رو در کل آرایه انجام بدین کل رشته هم شامل این وضعیت می شود.پیشنهاد می کنم نمونه کد برنامه تون رو قرار بدین تا بشه نظر بهتری داد

        (البته قبلا که با GPS کار کردم یادم می یاد طول داده دریافتی و کارکترهای ابتدا و انتها مشخص و قابل ردیابی کل داده ها هست)
        هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

        دیدگاه


          #5
          پاسخ : خوندن و استخراج رشته String در PIC

          تو این جور سیستم ها باید دنبال یک کارکتر ارسال شده و دریافتی بگردی که در تمام جواب ها یکی باشد مثلا در ماژول sim908 شما می توانید از 0x0a به عنوان شروع دریافت داده ها و ذخیره ان و از 0x0d به عنوان پایان ان استفاده کنی . در هر کجا که کد ابتدایی امد یه شمارنده بزار و اون رو صفرش کن و از اون به بعد هم هر چیزی غیر از کد دوم امد در یک ارایه مثلا 100 ایندکس ذخیره کن و مقدار شمارنده که در اصل به اینکس اشاره می کند را بعد دریافت اضافه کن و بعد از دریافت کد دوم برو دنبال این که ایا مثلا ok در یافت کرده یا نه . البته در سیم 908 در بعضی از حالات شما مجبوری این کد اول رو بسته به نوع دریافت و راحت تر شدن و زودتر دتکت کردن تغییر بدهید . من که سالهاست همین جوری کار می کنم برای کار با sim908 هم همین جوری کار کردم .

          دیدگاه


            #6
            پاسخ : خوندن و استخراج رشته String در PIC

            نوشته اصلی توسط baby_1
            سلام
            آقای بسطامی برای این کار همیشه طول آرایه داده رو بیشتر در نظر می گیرن تا مطمئن باشین که تمامی داده ها رو دریافت کردین و سپس جستجو رو در کل آرایه انجام بدین کل رشته هم شامل این وضعیت می شود.پیشنهاد می کنم نمونه کد برنامه تون رو قرار بدین تا بشه نظر بهتری داد

            (البته قبلا که با GPS کار کردم یادم می یاد طول داده دریافتی و کارکترهای ابتدا و انتها مشخص و قابل ردیابی کل داده ها هست)
            نوشته اصلی توسط مهدی کربلایی
            تو این جور سیستم ها باید دنبال یک کارکتر ارسال شده و دریافتی بگردی که در تمام جواب ها یکی باشد مثلا در ماژول sim908 شما می توانید از 0x0a به عنوان شروع دریافت داده ها و ذخیره ان و از 0x0d به عنوان پایان ان استفاده کنی . در هر کجا که کد ابتدایی امد یه شمارنده بزار و اون رو صفرش کن و از اون به بعد هم هر چیزی غیر از کد دوم امد در یک ارایه مثلا 100 ایندکس ذخیره کن و مقدار شمارنده که در اصل به اینکس اشاره می کند را بعد دریافت اضافه کن و بعد از دریافت کد دوم برو دنبال این که ایا مثلا ok در یافت کرده یا نه . البته در سیم 908 در بعضی از حالات شما مجبوری این کد اول رو بسته به نوع دریافت و راحت تر شدن و زودتر دتکت کردن تغییر بدهید . من که سالهاست همین جوری کار می کنم برای کار با sim908 هم همین جوری کار کردم .
            مرسی از هر دوس شما عزیزان
            فعلا چون کارم خیلی عجله ای بود با CodeVison و ATmega8 راش انداختم باید فردا برم جایی نصب کنم :icon_razz:
            خدا کنه آبرومونو نبره ولی فعلا تو فاز تست هست اما باید ببرمش به PIC
            حتما بازم مزاحمتون میشم مخصوصا که با SIM908 هم کار کردید واقعا به تجربه و دانشتون نیاز دارم
            بازم ممنون
            درایور شبکه و nRF24L01
            کاتالوگ محصولات
            کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
            شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
            فروش اسيلوسکوپ GWinstek GOS-630FC

            دیدگاه


              #7
              پاسخ : خوندن و استخراج رشته String در PIC

              چرا حالا pic . چرا همه با avr مشکل دارم والا من که تو بدترین جاحا و پر نویزترین مکان ها که با avr مشکلی نداشتم .

              دیدگاه


                #8
                پاسخ : خوندن و استخراج رشته String در PIC

                نوشته اصلی توسط مهدی کربلایی
                چرا حالا pic . چرا همه با avr مشکل دارم والا من که تو بدترین جاحا و پر نویزترین مکان ها که با avr مشکلی نداشتم .
                والا کارفرماها کلا AVR باشه قبول نمیکنن هزجا میگی پروژه با AVR میگن کار دانشجویی نیست که
                درایور شبکه و nRF24L01
                کاتالوگ محصولات
                کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
                شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
                فروش اسيلوسکوپ GWinstek GOS-630FC

                دیدگاه


                  #9
                  پاسخ : خوندن و استخراج رشته String در PIC

                  اخه تا کی همین جوری می خواهیم مشکلات طراحی رو بندازیک گردن میکرو بیچاره . البته منکر خوب بودن و منابع ریست میکرو pic نیستم اما اکثر موضوعات مطرح شده برای دلیل استفاده نکذدن از avrرو تست کردم و تا حالا که مشکلی نبوده .
                  البته بستگی به کار هم داره ولی .....

                  دیدگاه

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