با سلام خدمت دوستان
من پورت سریال نرم افزاری رو از طریق دستورات زیر در میکرو پیاده سازی کردم و تونستم به خوبی داده ها را از میکرو ارسال مکنم و بر روی ترمینال دریالفت کنم . اما متاسفانه وقتی داده رو می خواهیم از ترمینال به میکرو بفرستم و برای من همان بر گرداند این امکان پذیر نمی باشد و خالی بر می گرداند . من متن را به صورت عادی وارد ترمینال می کنم و کلید اینتر را میزنم و بدون اینتر هم تست کردم نمی دونم مشکل از نوع وارد کردن در ترمیناله و یا مشکل از کدها هست .
یک سوال دیگهخ هم همینجا بپرسم چجوری میشه اطلاعات ورودی رو ذخیره کرد تا هنگام رسیدن میکرو به همون خط خواندن از سریال اطلاعات رو بگیره !! آیا اطلاعات تا زمان خوانه شدن بر روی میکرو می ماند و یا اینکه می پره !! اگر چند تا هم زمان موج rf دریافت کنم اطلاعات پشت سر هم چه اتفاقی برایش می افتد ؟؟
من پورت سریال نرم افزاری رو از طریق دستورات زیر در میکرو پیاده سازی کردم و تونستم به خوبی داده ها را از میکرو ارسال مکنم و بر روی ترمینال دریالفت کنم . اما متاسفانه وقتی داده رو می خواهیم از ترمینال به میکرو بفرستم و برای من همان بر گرداند این امکان پذیر نمی باشد و خالی بر می گرداند . من متن را به صورت عادی وارد ترمینال می کنم و کلید اینتر را میزنم و بدون اینتر هم تست کردم نمی دونم مشکل از نوع وارد کردن در ترمیناله و یا مشکل از کدها هست .
یک سوال دیگهخ هم همینجا بپرسم چجوری میشه اطلاعات ورودی رو ذخیره کرد تا هنگام رسیدن میکرو به همون خط خواندن از سریال اطلاعات رو بگیره !! آیا اطلاعات تا زمان خوانه شدن بر روی میکرو می ماند و یا اینکه می پره !! اگر چند تا هم زمان موج rf دریافت کنم اطلاعات پشت سر هم چه اتفاقی برایش می افتد ؟؟
کد:
$regfile = "m16def.dat" $crystal = 8000000 $baud = 19200 Config Portb = Output Config Portd = Output Set Portd.0 Set Portd.1 Set Portd.2 Set Portd.3 Set Portd.4 Set Portd.5 Set Portd.6 Set Portd.7 Set Portb.1 Dim B As Byte Waitms 100 'Open a TRANSMIT channel for output Open "comc.1:19200,8,n,1" For Output As #1 Print #1 , "serial output" 'Now open a RECEIVE channel for input Open "comc.2:19200,8,n,1" For Input As #2 'Since there is no relation between the input and output pin 'there is NO ECHO while keys are typed Print #1 , "Press any alpha numerical key" Reset Portb.1 Wait 5 'With INKEY() we can check if there is data available 'To use it with the software UART you must provide the channel Do Print #1 , "Light is on" Set Portb.1 Wait 1 Reset Portb.1 Print #1 , "Please enter character for 2" Wait 5 Set Portb.1 'Store in byte B = Inkey(#2) 'When the value > 0 we got something Print #1 , Chr(b) Print #1 , "Send prot b" Wait 2 If B > 0 Then Print #1 , Chr(b) 'Print the character End If Reset Portb.1 Wait 5 Loop Close #2 'Close the channels Close #1 End
دیدگاه