قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 30-09-2013, 05:06 PM المشاركة 1   
ha الامر ارسال واستقبال من نوع text بنظام uart Twitter FaceBook Google+



سلام عليكم
عندي سؤال حول الاتصال التسلسلي الغير متزامن يعني استخدام RS232
1- كيف يتم ارسال جمله يعني مثلا ارسل كلمه open الى البك أخر يقوم بعمل ما
واذا

2- كيف يستقبل البك جمله ما يعني انا ارسلت له كلمه open
انا اعرف يوجد الامر ارسال وهو
("uart1_write_text("open

اما امر الاستقبال من نوع text


(uart1_read_text(output,"ok",10
ولكن انا مش فاهم شنو فائده ok
ارجوا توضيح وانا حسب ما افتهمت من شرح الامر اعلاه انه ماينفذ الامر الا اذا وجد كلمه ok بنهايه جمله ايضا كلمه open لايوجد فيها ok هل اكتب بنهايه كلمه
("uart1_write_text("openok

اعلانات

Mohammedalharbi
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2012
المشاركات: 58
نشاط [ Mohammedalharbi ]
قوة السمعة:0
قديم 30-09-2013, 08:06 PM المشاركة 2   
افتراضي


وعليكم السلام ورحمة الله
"اوك " فائدتها انه تخبر امر الاستقبال باكتمال الجملة المرسلة. وهذا يفيدنا اذا بنرسل قراءة حساسات مختلفة ونريد ان نفرق بين كل قراءة ولا يقراءها جميعاً في نقس اللحظة. مثلاً
char sensor1= (uart1_read_text(output,"ok",10
char sensor2= (uart1_read_text(output2,"ok",10
.
.
etc

ولمعرفة المزيد عن الاتصال الغير متزامن, تابع هذا الشرح ان شاءالله يفيدك اكثر
http://www.eeecb.com/vb/showthread.php?t=768

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 01-10-2013, 11:12 AM المشاركة 3   
افتراضي


وعليكم السلام ورحمة الله
"اوك " فائدتها انه تخبر امر الاستقبال باكتمال الجملة المرسلة. وهذا يفيدنا اذا بنرسل قراءة حساسات مختلفة ونريد ان نفرق بين كل قراءة ولا يقراءها جميعاً في نقس اللحظة. مثلاً
char sensor1= (uart1_read_text(output,"ok",10
char sensor2= (uart1_read_text(output2,"ok",10
.
.
etc

ولمعرفة المزيد عن الاتصال الغير متزامن, تابع هذا الشرح ان شاءالله يفيدك اكثر
http://www.eeecb.com/vb/showthread.php?t=768
اخي كريم
اولا شكر لك على ردك
ولكن يوجد خطأ في كود char sensor1= (uart1_read_text(output,"ok",10
والصحيح يكتب هكذا uart1_read_text(output,"ok",10 لان بيانات سوف تخزن في output وهي مصفوفه من نوع char
كود:
void UARTx_Read_Text(char *Output, char *Delimiter, char Attempts);
انا شي الذي لم افهمه وهو كيف ارسل جمله هل اضع معها امتداد كلمه ok
لاحظ كود
كود:
char i[8],x;
void main()
{
Uart1_Init(9600);
trisb=0;
portb=0x00;
delay_ms(100);
while(1)
   {
   if (Uart1_Data_Ready())
          { UART1_Read_Text(i,"ok",11);
            if(i[0]=='A'&& i[1]=='L'&& i[2]=='I'){portb.f0=1;} // ali
            if(i[0]=='b') //b
                    { for(x=0;x<10;x++)
                            {
                             portb.f0=1;
                             delay_ms(250);
                              portb.f0=0;
                             delay_ms(250);
                            }
                    }
           }
   }
}
هنا اذا استلمت كلمه ALI يصبح portb.f0=1
بالنسبه لكي يعمل هل يتم الارسال
كود:
UART1_Write_Text("ALI");
او
كود:
UART1_Write_Text("ALIok");


Mohammedalharbi
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2012
المشاركات: 58
نشاط [ Mohammedalharbi ]
قوة السمعة:0
قديم 01-10-2013, 06:40 PM المشاركة 4   
افتراضي


السلام عليكم ورحمة الله
شكراً اخي لتصحيح الخطا. انا لم اتعامل مع مايكروسي في البرمجة, ولكن بحثت على السريع في جوجل وحبيت اساعد. ان شاءالله يقدروا الاخوان يساعدونك. بس اخي جرب وشوف النتيجة بنفسك. وضع احتمال انه ممكن نفس مايكروسي يضع ال ok في نهاية الارسال, يعني ممكن مو لازم تكتبها انت. لو تسوي بحث في النت وتكتب UART1_Write_Text, تلاحظ جميع الاكواد بدون "اوك". والتجربة غير برهان. موفق ان شاءالله.


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 02-10-2013, 02:00 PM المشاركة 5   
افتراضي


ماهي فائده هذين امرين بعد الامر الارسال انظر كود
كود:
UART1_Write_Text("Start");
  UART1_Write(13);
  UART1_Write(10);


سعد الجسري
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2005
الدولة: UAE
المشاركات: 144
نشاط [ سعد الجسري ]
قوة السمعة:0
قديم 02-10-2013, 03:28 PM المشاركة 6   
افتراضي


السلام عليكم
13 نهاية السطر
10 الانتقال إلى سطر جديد


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 02-10-2013, 03:32 PM المشاركة 7   
افتراضي


السلام عليكم
13 نهاية السطر
10 الانتقال إلى سطر جديد
شكر لك اخي كريم
عندي سؤال هل وجودهما ضروريان ام لا
ومتى أستخدمهما


سعد الجسري
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2005
الدولة: UAE
المشاركات: 144
نشاط [ سعد الجسري ]
قوة السمعة:0
قديم 02-10-2013, 04:10 PM المشاركة 8   
افتراضي


على هواه البرنامج
مثلا إريد أن أبعث قيم الثمانية من adc ثمانية مداخل
فسوف يرسل القيم بعدها ينتقل إلى سطر جديد
وبعدها قيم جديدة مرة اخرى .. وهكذا
أفضل أن تعمل برنامج جديد uaert وترا النتائج

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 01:56 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025