NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3934 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 14 از 14

موضوع: مشکل با ارسال داده با rs232

  1. #1
    عضو جدید zahrashariati آواتار ها
    تاریخ عضویت
    Nov 2012
    نام
    زهرا شریعتی
    نوشته ها
    8
    تشکر
    4
    تشکر شده 6 بار در 6 پست

    Icon17 مشکل با ارسال داده با rs232

    سلام دوستان
    من با مگا128 یه برنامه نوشتم که یه رشته روی tx بنویسه و از طریق max232 و پورت سریال با کامپیوتر در ارتباط باشه. اتصالات درست هست و یک کاراکتر رو می تونم بفرستم و بخونم. مشکلم اینه که توی کد سراغ خط بعدی نمیره و مدام اون کاراکتر رو ارسال می کنه، حتی وقتی یه رشته رو می فرستم، فقط کاراکتر اولش رو دائم می فرسته و سراغ کاراکترهای بعدی نمیره. یجوری انگار که متوجه نمیشه که ارسال دیتا درست انجام شده. سوالی که دارم اینه که حتما باید پین 3 سریال رو هم به پورت rx وصل کنم؟ چون من فقط میخواستم از میکرو روی خروجی بنویسم و احتیاجی به دریافت اطلاعات از طریق پورت سریال نداشتم، فقط پایه های 2 و زمین رو وصل کردم.
    اگر لازم باشه که پایه 3 هم وصل شه، حتما باید از طریق max232 اونو هم وصل کنم؟
    پیشاپیش ممنون

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    همکار علمی zakariya moradi آواتار ها
    تاریخ عضویت
    Sep 2012
    نام
    ذکریا مرادی
    نوشته ها
    206
    تشکر
    86
    تشکر شده 448 بار در 125 پست

    پیش فرض

    سلام
    سورس کد رو بذارید همین جا تا مشکل رو بررسی کنیم .

  4. تشکرها از این نوشته :


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2012
    نام
    حبیب اله صادقی
    نوشته ها
    47
    تشکر
    7
    تشکر شده 23 بار در 21 پست

    پیش فرض

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

  6. تشکرها از این نوشته :


  7. #4
    عضو جدید zahrashariati آواتار ها
    تاریخ عضویت
    Nov 2012
    نام
    زهرا شریعتی
    نوشته ها
    8
    تشکر
    4
    تشکر شده 6 بار در 6 پست

    پیش فرض

    نقل قول نوشته اصلی توسط zakariya moradi نمایش پست ها
    سلام
    سورس کد رو بذارید همین جا تا مشکل رو بررسی کنیم .
    ممنون
    این هست کد توی کد ویژن

    #include <mega128.h>
    #include <delay.h>
    #include <stdio.h>



    void main(void)
    {
    // Declare your local variables here
    PORTA=0x00;
    DDRA=0x00;

    PORTB=0x00;
    DDRB=0x00;

    PORTC=0x00;
    DDRC=0x00;

    PORTD=0x00;
    DDRD=0x00;

    PORTE=0x00;
    DDRE=0x00;

    PORTF=0x00;
    DDRF=0x00;

    PORTG=0x00;
    DDRG=0x00;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    ASSR=0x00;
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Discon.
    // OC1B output: Discon.
    // OC1C output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    // Compare C Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    OCR1CH=0x00;
    OCR1CL=0x00;

    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer2 Stopped
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    // Timer/Counter 3 initialization
    // Clock source: System Clock
    // Clock value: Timer3 Stopped
    // Mode: Normal top=0xFFFF
    // OC3A output: Discon.
    // OC3B output: Discon.
    // OC3C output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer3 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    // Compare C Match Interrupt: Off
    TCCR3A=0x00;
    TCCR3B=0x00;
    TCNT3H=0x00;
    TCNT3L=0x00;
    ICR3H=0x00;
    ICR3L=0x00;
    OCR3AH=0x00;
    OCR3AL=0x00;
    OCR3BH=0x00;
    OCR3BL=0x00;
    OCR3CH=0x00;
    OCR3CL=0x00;

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    // INT3: Off
    // INT4: Off
    // INT5: Off
    // INT6: Off
    // INT7: Off
    EICRA=0x00;
    EICRB=0x00;
    EIMSK=0x00;

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;

    ETIMSK=0x00;

    // USART0 initialization
    // Communication Parameters: 8 Data, 1 Stop, No Parity
    // USART0 Receiver: Off
    // USART0 Transmitter: On
    // USART0 Mode: Asynchronous
    // USART0 Baud Rate: 9600
    UCSR0A=0x00;
    UCSR0B=0x08;
    UCSR0C=0x06;
    UBRR0H=0x00;
    UBRR0L=0x2F;

    // USART1 initialization
    // USART1 disabled
    UCSR1B=0x00;

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;

    // ADC initialization
    // ADC disabled
    ADCSRA=0x00;

    // SPI initialization
    // SPI disabled
    SPCR=0x00;

    // TWI initialization
    // TWI disabled
    TWCR=0x00;
    #asm("sei");
    while (1)
    {
    puts("salam");
    putchar('a');

    }
    }

    البته توی مدار هم خروجی رو به max232 دادم
    پایه های 13 و 8 (R1in , R2in) رو هم به زمین وصل کردم که بعید می دونم ربطی داشته باشه!
    با هایپر ترمینال هم تستش می کنم


  8. تشکرها از این نوشته :


  9. #5
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2012
    نام
    حبیب اله صادقی
    نوشته ها
    47
    تشکر
    7
    تشکر شده 23 بار در 21 پست

    پیش فرض

    هیچ لزومی به زمین کردن پایه هایی که گفتین وجود نداره .

  10. کاربران : 2 تشکر کرده اند از شما habib_sadeghi برای ارسال این پست سودمند:


  11. #6
    عضو جدید zahrashariati آواتار ها
    تاریخ عضویت
    Nov 2012
    نام
    زهرا شریعتی
    نوشته ها
    8
    تشکر
    4
    تشکر شده 6 بار در 6 پست

    پیش فرض

    آره ولی اشکالی هم ایجاد نمی کنه
    من تو پروتئوس چک می کنم مشکلی نداره، تنها حدسم اینه که توی اتصالات max232 یا خازن هاش یه مشکلی داشته باشم
    کسی در این زمینه میتونه راهنمایی کنه؟ یا اینکه کلا دلیل اینکه کاراکتر اول مدام ارسال میشه چی میتونه باشه؟

  12. تشکرها از این نوشته :


  13. #7
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2012
    نام
    حبیب اله صادقی
    نوشته ها
    47
    تشکر
    7
    تشکر شده 23 بار در 21 پست

    پیش فرض

    یه نگاه به این مطلب بکنید بد نیست
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar UART.rar (232.5 کیلو بایت, 101 نمايش)

  14. تشکرها از این نوشته :


  15. #8
    عضو جدید zahrashariati آواتار ها
    تاریخ عضویت
    Nov 2012
    نام
    زهرا شریعتی
    نوشته ها
    8
    تشکر
    4
    تشکر شده 6 بار در 6 پست

    پیش فرض

    ممنون، اتصالات max232 م درست بود
    یه احتمالی که خودم میدم اینه که میکرو دائم در حال ریست شدن هست. با یه کد دیگه که ال ای دی روشن خاموش می کرد تستش کردم و دیگه این مشکل رو نداشت، یعنی به نظر نمی اومد که ریست بشه، اما وقتی usart رو فعال می کنم و باهاش دیتا ارسال می کنم به محض فرستادن کاراکتر اول ریست میشه
    ممنون میشم اگر کسی نظری داره دریغ نکنه

  16. تشکرها از این نوشته :


  17. #9
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2012
    نام
    حبیب اله صادقی
    نوشته ها
    47
    تشکر
    7
    تشکر شده 23 بار در 21 پست

    پیش فرض

    انجام این کار در بیسیک بسیار راحت تره

  18. تشکرها از این نوشته :


  19. #10
    عضو جدید zahrashariati آواتار ها
    تاریخ عضویت
    Nov 2012
    نام
    زهرا شریعتی
    نوشته ها
    8
    تشکر
    4
    تشکر شده 6 بار در 6 پست

    پیش فرض

    مشکل از کد نیست که، توی پروتئوس هم مشکلی ندارم، مشکل از مدار یا پی سی بی هست

  20. تشکرها از این نوشته :


  21. #11
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2012
    نام
    حبیب اله صادقی
    نوشته ها
    47
    تشکر
    7
    تشکر شده 23 بار در 21 پست

    پیش فرض

    پلاریته خازنهای الکترولیت همچنین مقدارشون و سالم بودنشون خیلی مهمه سالم بودن خازن رو چک کردید .
    ویرایش توسط habib_sadeghi : 31-12-2012 در ساعت 21:42

  22. تشکرها از این نوشته :


  23. #12
    عضو جدید zahrashariati آواتار ها
    تاریخ عضویت
    Nov 2012
    نام
    زهرا شریعتی
    نوشته ها
    8
    تشکر
    4
    تشکر شده 6 بار در 6 پست

    پیش فرض

    یه بار دیگه که چک کردم دیدم به خاطر استفاده از تابع delay هست که ریست میشه. هر وقت به این تابع می رسه خودبخود ریست میشه. موقع ارسال کاراکتر هم فکر می کنم توی کتابخونه اش از این تابع استفاده کرده که ریست میشه.
    برای کریستالم دو تا خازن عدسی 22 پیکو گذاشتم
    برای max232 خازن هام یک میکرو هستن، چطور می تونم سالم بودنشون رو چک کنم؟

  24. تشکرها از این نوشته :


  25. #13
    عضو جدید zahrashariati آواتار ها
    تاریخ عضویت
    Nov 2012
    نام
    زهرا شریعتی
    نوشته ها
    8
    تشکر
    4
    تشکر شده 6 بار در 6 پست

    پیش فرض

    دوستان ممنون از راهنمایی هاتون
    مشکلش حل شد ولی باورم نمیشه این باشه
    نشستم فیوز بیت ها رو یکی یکی تغییر دادم، مشکل از 0 بودن فیوز بیت M103، کامپتیبل بودن با mega103 بود

  26. تشکرها از این نوشته :


  27. #14
    تازه وارد
    تاریخ عضویت
    Nov 2011
    نوشته ها
    1
    تشکر
    0
    تشکر شده 1 بار در 1 پست

    پیش فرض

    با سلام
    من اون برنامه ای رو که فایلشو گذاشته بودید بستم ولی روی LCD به جای چیزایی که میفرستم خونه ی سیاه میاد. خازن هامم 1u هست
    از چی میتونه باشه؟
    با تشکر

  28. تشکرها از این نوشته :


موضوعات مشابه

  1. [سوال] مشکل با rs232 و avr
    توسط avr_rva در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 05-02-2014, 13:42
  2. مبدل usb به rs232
    توسط ramin_kent در انجمن سایر موارد
    پاسخ: 9
    آخرين نوشته: 01-11-2013, 15:31
  3. RS232 to LAN
    توسط ramin_kent در انجمن گفت و گوي آزاد
    پاسخ: 4
    آخرين نوشته: 10-02-2013, 13:29
  4. rs232
    توسط ariyn در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 26-06-2012, 16:10
  5. USB to Rs232
    توسط Hesam1984 در انجمن AVR
    پاسخ: 8
    آخرين نوشته: 04-10-2007, 22:03

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •