اطلاعیه

Collapse
No announcement yet.

ارتباط کامپیوتر با rs232

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

    ارتباط کامپیوتر با rs232

    سلام
    کی میدونه که چرا وقتی با codvision یه عدد برا میکرو میفرستم تا روی lcd نشون بده همش یه عدد نشون میده ویا اصلا چیزهای درهم وبرهم نشون میده ؟کریستال رو 11.0592 انتخاب کردم فیوز بیت رو روی کریستال خارجی گذاشتم ...وقتی بطور مستقیم دستور چاپ معمولی ازطریق میکرو میدم کاراکتر رو نشون میده ولی وقتی کاراکتر دریافتی از rs232 بر lcd میفرستم این مشکل پیش میاد؟؟؟؟؟ البته این برنامه فقط یه متنو روی terminal نشون باید بده که نمیده وفقط کاراکتر های بی ربط نشون میده مشکل از کجاس؟؟؟
    #include<mega32.h>
    #include<stdio.h>
    #include<delay.h>
    #define BAUD 4800
    #define XTAL 11059200
    void main(){
    char Data[20]=" sallam";
    UCSRA=0X00;
    UCSRB=0X08;
    UCSRC=0X86;
    UBRRH=0x00;
    UBRRL=XTAL/16/BAUD-1;
    while(1){
    printf("%s",Data);
    delay_ms(250);
    }
    }

    #2
    پاسخ : ارتباط کامپیوتر با rs232

    1- باود برنامه 4800 هست دقت کن که باود کامپیوتر هم همین باشه
    2- تو این برنامه ای که گذاشتی جایی داده وارده از پورت سریال خونده نمیشه که
    3- چون اطلاعات رو بایت به بایت دریافت میکنی بهتره از printf( "%c استفاده کنی

    دیدگاه


      #3
      پاسخ : ارتباط کامپیوتر با rs232

      سلام
      ممنون از نظرت ولی اینو بگم که یادم رفته بود که برنامه ای گذاشتم داده رو برا کامپیوتر می فرسته جالب اینه که تو terminal هم دادهای عجیب وغریب نشون می ده این برنامه رو از کتا مرجع avr برداشتم تازه.... حالا یه مشکل جدید پیش اومده که فعلا پروژه رو تعطیل کرده اونم اینه که پروگرامرم extereme هست وبا khazama پزوگرام میکنم atmega 8 رو پروگرام میکنه ولی atmega32 رو که تازه خریدم پروگرام نمی کنه نه این تازه رو ونا قدیمی هامم همش پیام میده : initialization failed,rc=-1 اگه علتش رو میدونی بگو منم بدونم ممکنه از دیود زنرها باشه؟که موقع فلش کردن اتصال کوتاه بشن؟؟؟؟

      دیدگاه


        #4
        پاسخ : ارتباط کامپیوتر با rs232

        سلام ، در ارتباط سریال میکرو با کامپیوتر در حالت 1) می خواهم که وقتی از کیبورد کاراکتر a زده می شود میکرو یکی از پایه هایش را یک کند در ابتدا برعکس را امتحان کردم ، ولی در ترمینال کد ویژن به جای hello worldیکسری عدد یا حرف و یا علامت بی معنی نشان می دهد. بسیار مهم است که میکرو دقیقا کاراکتر a را دریافت کند چون در ادامه پروژه ام می خواهم این داده را به صورت سریال به فرستنده ne555 بفرستم . میکرو من atmega8 و با تنظیم فیوز بیت ها ان را روی اسیلاتور داخلی 8 مگا گذاشتم و نگران از اینکه اگر از کریستال خارجی استفاده کنم چون پروگرمر من گریستال 4 مگا دارد برای دفعات بعدی پروگرم کردن میکرو دیگه پروگرم نشه. پروژه پایانی لیسانس. مدت زمان محدود .باتشکر.

        دیدگاه

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