اطلاعیه

Collapse
No announcement yet.

فعال کردن uart2

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

    #31
    پاسخ : فعال کردن uart2

    نوشته اصلی توسط morteza7090
    من نمونه برنامه دیدم از این توابع استفاده کرده
    بله. میشه، اما اونجا دستورات ارسال رو از نو تعریف کرده اند.
    ---------
    .
    .
    ...........

    دیدگاه


      #32
      پاسخ : فعال کردن uart2

      نوشته اصلی توسط ajapyy
      1-باودریت رو ببرید بالاتر مثلا 19200.
      2-از 0x67 تا 0x70 رو بفرستید، هر چی دریافت کردید اینجا بنویسید.
      چه تو باودریت9600چه 19200تغیری نکرد،یه مشت علامت سوال وچیز میزد،اما رو ال سی دی همینارو که چاپ میکردم حروف g hip نشون میداد

      دیدگاه


        #33
        پاسخ : فعال کردن uart2

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

        دیدگاه


          #34
          پاسخ : فعال کردن uart2

          نوشته اصلی توسط morteza7090
          چه تو باودریت9600چه 19200تغیری نکرد،یه مشت علامت سوال وچیز میزد،اما رو ال سی دی همینارو که چاپ میکردم حروف g hip نشون میداد
          درسته. کد اسکی اونا معادل g h i هستش. LCD رو غیرفعال کنید و فقط و فقط دیتا رو به پورت سریال بفرستید.

          نوشته اصلی توسط morteza7090
          شما ندارید کتابخونشو؟
          توی کتابخونش هم همین کدهای شماست، شما مشکلتون از پایه هستش.
          ---------
          .
          .
          ...........

          دیدگاه


            #35
            پاسخ : فعال کردن uart2

            نوشته اصلی توسط ajapyy
            درسته. کد اسکی اونا معادل g h i هستش. LCD رو غیرفعال کنید و فقط و فقط دیتا رو به پورت سریال بفرستید.
            توی کتابخونش هم همین کدهای شماست، شما مشکلتون از پایه هستش.
            ال سی دی هم غیر فعال کردم باز جواب نداد،مثل قبل بود،شما نمونه برنامه ندارید واسه ارتباط usart0_یا usart2که به کامپیوتر وصلش کرده باشید جواب گرفته باشه؟

            دیدگاه


              #36
              پاسخ : فعال کردن uart2

              این برنامه رو خودم روی 3 تا برد جدا اجرا کردم. تا 3Mbps هم برام درست جواب داده. فقط 3 تا نکته:
              1- کلاک واحد UART0 رو من گزاشتم 100MHz . یعنی مثل خود کلاک CPU. شما نمیخواد عوضش کنی.
              2- فقط برو توی تابع UART0_init و پایه ها رو درست کن. میشه خط 16و17 تو فایل UART.C .
              3- من با jlink کار کردم. اگر از بوت لودر استفاده می کنی، تنظیماتش رو انجام بده.
              http://s3.picofile.com/file/8196780750/mo.rar.html
              ---------
              .
              .
              ...........

              دیدگاه


                #37
                پاسخ : فعال کردن uart2

                نوشته اصلی توسط ajapyy
                این برنامه رو خودم روی 3 تا برد جدا اجرا کردم. تا 3Mbps هم برام درست جواب داده. فقط 3 تا نکته:
                1- کلاک واحد UART0 رو من گزاشتم 100MHz . یعنی مثل خود کلاک CPU. شما نمیخواد عوضش کنی.

                2- فقط برو توی تابع UART0_init و پایه ها رو درست کن. میشه خط 16و17 تو فایل UART.C .
                3- من با jlink کار کردم. اگر از بوت لودر استفاده می کنی، تنظیماتش رو انجام بده.
                http://s3.picofile.com/file/8196780750/mo.rar.html
                خط 16و17که مشکلی نداره،چیشو درست کنم؟ پروگرام کردم اما uنشون میده

                دیدگاه


                  #38
                  پاسخ : فعال کردن uart2

                  نوشته اصلی توسط morteza7090
                  خط 16و17که مشکلی نداره،چیشو درست کنم؟ پروگرام کردم اما uنشون میده
                  نگفتم مشکل اره، گفتم با پایه های مدنظر خودت تنظیم کن.
                  از max232 استفاده می کنی یا مبدل usb2ttl ؟
                  چون مشکل از کد نیست. از ترمینال کامپیوتر هم نیست به گفته خودت. می مونه سخت افزار واسط .
                  ---------
                  .
                  .
                  ...........

                  دیدگاه


                    #39
                    پاسخ : فعال کردن uart2

                    نوشته اصلی توسط ajapyy
                    نگفتم مشکل اره، گفتم با پایه های مدنظر خودت تنظیم کن.
                    از max232 استفاده می کنی یا مبدل usb2ttl ؟
                    چون مشکل از کد نیست. از ترمینال کامپیوتر هم نیست به گفته خودت. می مونه سخت افزار واسط .
                    من از برد آموزشی همین سایت استفاده میکنم،اون سمت هم از مبدل یو اس بی به ttl سایت آفتاب رایانه استفاده میکنم،که پنج پایه هست،rx_tx_gnd_3.3v_5v

                    دیدگاه


                      #40
                      پاسخ : فعال کردن uart2

                      بعد از دستور ارسال یک LED روشن کن. میخوام بدونم از تابع ارسال میاد بیرون یا نه ؟
                      اینو هم غیر فعال کن.
                      [code=c]NVIC_EnableIRQ(UART2_IRQn) ;[/code]
                      از کدی که بهت دادم استفاده کن.
                      ---------
                      .
                      .
                      ...........

                      دیدگاه


                        #41
                        پاسخ : فعال کردن uart2

                        آقا دستت درد نکنه،اونجا که گفتی سخت افزارش باید باشه من رفتم چک کردم سمت مبدل یو اس بی به سریال یه ماکس232گزاشتم درست شد،چون برد آموزشی هم ماکس 232داره،آقا خیلی خیلی نوکرم خیلی کمکم کردی،همون برنامه خودم الان می فرسته،حالا واسه دریافت چطور عمل کنم؟ من درنهایت هدفم اینه با SIM900ارتباط برقرار کنم

                        دیدگاه


                          #42
                          پاسخ : فعال کردن uart2

                          خواهش می کنم.
                          برای دریافت دو تا راه داری :
                          1- استفاده از روش پولینگ یا همون getchar
                          2- استفاده از وقفه دریافت. مثلا یک بافری رو بزاری اونجا پر بشه و بعد از زمان مشخصی دیتا رو بخونی.

                          وقتی به SIM900 دستور ی فرستی، بعد از یک مدت (بسته به دستورت) یک سری رشته رو برمیگردونه، پس شما مثلا بعد از 400 میلی ثانیه بافر ریافت رو بخون.
                          ---------
                          .
                          .
                          ...........

                          دیدگاه


                            #43
                            پاسخ : فعال کردن uart2

                            نوشته اصلی توسط ajapyy
                            خواهش می کنم.
                            برای دریافت دو تا راه داری :
                            1- استفاده از روش پولینگ یا همون getchar
                            2- استفاده از وقفه دریافت. مثلا یک بافری رو بزاری اونجا پر بشه و بعد از زمان مشخصی دیتا رو بخونی.

                            وقتی به SIM900 دستور ی فرستی، بعد از یک مدت (بسته به دستورت) یک سری رشته رو برمیگردونه، پس شما مثلا بعد از 400 میلی ثانیه بافر ریافت رو بخون.
                            شما با وقفه 1768کار کردید؟

                            دیدگاه


                              #44
                              پاسخ : فعال کردن uart2

                              بله.
                              تو همون کد اولیه که داده بودید هم روش دریافت وقفه بود.
                              ---------
                              .
                              .
                              ...........

                              دیدگاه


                                #45
                                پاسخ : فعال کردن uart2

                                نوشته اصلی توسط ajapyy
                                بله.
                                تو همون کد اولیه که داده بودید هم روش دریافت وقفه بود.
                                الان توی وقفه یه بافر گزاشتم و رشته دریافت میکنم،اما مشکلم اینه تا چندتا کارکتر بگیره؟ شرط اینتر که می زارم عمل نمی کنه،چکار کنم که کارکتری رو از دست ندم؟

                                دیدگاه

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