نمایش نتایج 1 تا 3 از 3

نام تاپیک: رفع اشکال برنامه نویسی زبان c

  1. #1

    Question رفع اشکال برنامه نویسی زبان c

    من میخوام برنامه اتصال کیبورد به ماژول رو بنویسم در کیبورد کامپیوتر را به پایه rxt میکرو وصل چون داریم از سریال میکرو استفاده میکنیم دیگه ماژول رو نمیتونیم به پاییه txt وصل کنیم. برای همین باید یه پورت سریال مجازی بسازیم . من برنامه اتصال کیبورد به lcd رو دارم و همینطور برنامه ایجاد پورت سریال نرم افزاری میتونه کسی این ها رو با هم ترکیب کنه و برنامه درست رو بگه بهم؟
    #include <mega16.h>
    #include <stdio.h>
    #include <lcd.h>
    #incude <delay.h>
    #asm
    .equ __lcd_port=0x1B ;PORTA
    #endasm
    unsigned char buffer_lcd[20],Scan_Code;
    void main(void)
    {
    PORTB=0x00;
    DDRB=0x00;
    PORTD=0x00;
    DDRD=0x00;
    UCSRA=0x00;
    UCSRB=0x98;
    UCSRC=0xF6;
    lcd_init(16);
    #asm("sei");
    while(1)
    {
    lcd_clear();
    sprintf(buffer_lcd,"Key_Press=%X",Scan_Code);
    lcd_puts(buffer_lcd);
    delay_ms(300);
    }
    }
    interrupt [USART_RXC]void usart_rx_isr(void)
    {
    unsigned char buffer;
    buffer=UDR;
    switch(buffer)
    {
    case 0xF0:
    break;
    case 0xE0:
    break;
    default:
    Scan_Code=buffer;
    }
    }
    و برنامه پورت سریال نرم افزاری:
    #include <delay.h>

    #define TX2_PIN PORTC.0 // UART2 TX pin
    #define TX2_DDR DDRC.0 // UART2 TX Direction Register

    // TX & RX levels
    #define HIGH 1
    #define LOW 0

    // UART2 specific
    #define DATA_BIT_LENGTH 104 // ((1/BAUD)*10000000)


    // put a character DIRECTLY to the UART2
    void putchar2(unsigned char c)
    {

    unsigned char i;

    TX2_PIN = LOW; // clear output (start bit)
    delay_us(DATA_BIT_LENGTH);

    for(i=0; i<8; i++)
    {
    TX2_PIN = (c & 0x01);
    delay_us(DATA_BIT_LENGTH);
    c >>= 1; // next bit, please !
    }

    TX2_PIN = HIGH; // stop bit (bit #8)
    delay_us(DATA_BIT_LENGTH);

    }

    void puts2(char* str)
    {
    while( *str != '\0' )
    {
    putchar2((unsigned char) *str++);
    }
    }

    // UART2 initialization function (we MUST call this function BEFORE using UART2)
    void initUART2(void)
    {
    TX2_PIN = 1; // logic 1 (high level = STOP TX)
    TX2_DDR = 1; // output
    }

  2. #2
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: رفع اشکال برنامه نویسی زبان c

    راه حل سخت افزاری هم هست . از میکروهایی استفاده کنید که بیش از یک رابط USART دارند .

  3. #3

    نقل قول: رفع اشکال برنامه نویسی زبان c

    نقل قول نوشته شده توسط Abbas Amiri مشاهده تاپیک
    راه حل سخت افزاری هم هست . از میکروهایی استفاده کنید که بیش از یک رابط USART دارند .
    بله اینم میشه اما در این صورت چطور باید راه اندازیش کنم ؟
    دوم این که برنامه من روی ال سی دی نشون میده من میخوام این کار رو نکنه و فقط بره تو بافر در این صورت ایا فقط اگر قسمت های مربوط به ال سی دی رو حذف کنم درست میشه؟
    اینا باید حذف شه؟
    #include <lcd.h>
    #asm
    .equ __lcd_port=0x1B ;PORTA
    #endasm
    lcd_init(16);
    lcd_clear();
    lcd_puts(buffer_lcd);

تاپیک های مشابه

  1. کمک برای رفع اشکال برنامه جایگشت
    نوشته شده توسط panni-qalbeyakhi در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: دوشنبه 28 بهمن 1387, 18:02 عصر
  2. رفع اشکال برنامه
    نوشته شده توسط Emir New در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 1
    آخرین پست: پنج شنبه 07 آذر 1387, 12:29 عصر
  3. سوال: رفع اشکال برنامه
    نوشته شده توسط moh.mon در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 3
    آخرین پست: پنج شنبه 16 خرداد 1387, 23:00 عصر
  4. رفع اشکال برنامه هایی به زبان++c
    نوشته شده توسط ستایش قیاسی در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 6
    آخرین پست: یک شنبه 11 آذر 1386, 13:32 عصر
  5. رفع اشکال برنامه
    نوشته شده توسط مهدی رحیم زاده در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 6
    آخرین پست: چهارشنبه 30 خرداد 1386, 23:54 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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