اطلاعیه

Collapse
No announcement yet.

کمک در ارتباط سریال atmega32 با pc

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

    کمک در ارتباط سریال atmega32 با pc

    من یه برنامه ساده با bascom نوشتم برای ارتباط سریال میکرو (atmega32) با کامپیوتر . به یه مشکل خوردم زمانی که با terminal emulator برنامه رو اجرا میکنم از میکرو اطلاعات به صورت کامل نمایش داده میشه ولی من از کامپیوتر نمیتونم اطلاعات بفرستم روی میکرو در واقع توی terminal emulator اصلا از کیبورد ورودی نمیگیره . سرعت انتقال در کامپیوتر و میکرو برابر 9600 و کریستال داخلی هم برابر 8000000 هست
    در ضمن با ویژوال بیسیک هم همین مشکل رو دارم اطلاعات کامل از میکرو میاد ولی از کامپیوتر نمیتونم چیزی رو به میکرو بفرستم
    لطفا اگه کسی در این ارتباط کار کرده کمکم کنه که بدجوری گیر کردم

    اینم برنامه:

    "regfile = "m32def.dat$
    crystal=8000000

    baud = 9600

    Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = Portc.3 , Db7 = _
    Portc.4 , E = Portd.2 , Rs = Portd.3
    Config Lcd = 16 * 2

    Cls

    Dim S As String * 10

    Do
    Input S
    Print S
    Lcd S
    Loop


    End

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

    اگه ارتباط از اون طرف دریت کار می کنه ، دلیلی نداره از این طرف مشکلی داشته باشه.
    تو ایمولاتور تایپ کن ( دقت کن که قبلش مکان نما رو اون چشمک بزنه . بهرته قبل از تایپ رو ایمولاتور کلیک کنی تا active باشه ) . بعد از تایپ کلید Enter رو که بزنی بلافاصله باید همونا نشون داده بشه ( با توجه به برنامه ای که نوشتی ) . تا وقتی که اینتر فشرده نشده رو ایمولاتور و LCD هیچی نمی بینی.

    یه چیز دیگه هم اینکه برای تعیین نرخ ارسال از Baud$ استفاده کن نه Baud

    دیدگاه


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

      ارتباط سریال یعنی چی یه کم توضیح بدید چه مزیتی داره؟
      Ayhan

      دیدگاه


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

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

        دیدگاه


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

          سلام اقای جعفری خیلی ممنون
          راستش من این کار رو انجام داده بودم ولی به هیچ وجه جواب نمیده.
          البته با Proteus این کار رو انجام دادم و جواب داد. ولی توی عمل جواب نمیده فقط اطلاعات از میکرو خارج میشه و نمیتونم چیزی بفرستم چند تا برنامه دیگه هم که با ویژوال بیسیک بوده از کتاب کاهه رو هم امتحان کردم ولی باز هم همین مشکل رو داره فقط اطلاعات خارج میشه چیزی وارد نمیشه
          آیا تنظیم خاصی توی فیوزبیت های میکرو نداره یا توی بسکام که این مشکل بوجود اومده.
          یه سوال دیگه هم دارم . تویterminal emulator وقتی چیزی رو تایپ میکنم باید کارکتر رو نشون بده یا نه ؟ هرچی مینویسم چیزی تایپ نمیشه البته کلید enter رو هم میزنم ولی هیچ تاثیری نداره .
          (از کریستال داخلی میکرو دارم استفاده میکنم)

          دیدگاه


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

            نوشته اصلی توسط morteza_j
            سلام اقای جعفری خیلی ممنون
            راستش من این کار رو انجام داده بودم ولی به هیچ وجه جواب نمیده.
            البته با Proteus این کار رو انجام دادم و جواب داد. ولی توی عمل جواب نمیده فقط اطلاعات از میکرو خارج میشه و نمیتونم چیزی بفرستم چند تا برنامه دیگه هم که با ویژوال بیسیک بوده از کتاب کاهه رو هم امتحان کردم ولی باز هم همین مشکل رو داره فقط اطلاعات خارج میشه چیزی وارد نمیشه
            آیا تنظیم خاصی توی فیوزبیت های میکرو نداره یا توی بسکام که این مشکل بوجود اومده.
            یه سوال دیگه هم دارم . تویterminal emulator وقتی چیزی رو تایپ میکنم باید کارکتر رو نشون بده یا نه ؟ هرچی مینویسم چیزی تایپ نمیشه البته کلید enter رو هم میزنم ولی هیچ تاثیری نداره .
            (از کریستال داخلی میکرو دارم استفاده میکنم)
            منم قبلا همین مشکل رو داشتم یعنی دیتا از میکرو به کامپیوتر می اومد ولی از کامپیوتر به میکرو دیتا نمی اومد مشکل هم از تعریف نکردن مقاومت pullup روی پایه rxd میکرو بود البته من برای انتقال دیتا از ترکیب دو ترانزیستور مثبت و منفی استفاده کردم که نمونش تو کتاب کاهه هست
            به تاپیک های زیر مراجعه کنید امیدوارم مشکلتون حل شه :
            wink:
            http://www.eca.ir/forum2/index.php?topic=17437.msg92786#msg92786

            http://www.eca.ir/forum2/index.php?topic=15181.msg74789#msg74789
            چه دعایی کنمت بهترازاین ،که کنار پسر فاطمه هنگام اذان ، سحر جمعه ای پشت دیوار بقیع قامتت قد بکشد در دو رکعت به نمازی که نثار حرم و گنبد برپا شده ی حضرت زهرا بکنی ... انشاالله

            دیدگاه

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