سؤال

أنا مبتدئ في جاوة. أنا أقرأ البيانات من المنفذ التسلسلي. أنا أخذت

serialPort.setSerialPortParams(
   9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, 
   SerialPort.PARITY_NONE); 

ما معنى 9600, DATABITS_8,STOPBITS_1 و PARITY_NONE?

لا يوجد حل صحيح

نصائح أخرى

9600، Databers_8، Stopbits_1 و Prity_none

9600 باود: باود مرادف للرموز أو البقول في الثانية. في هذه الحالة، يشير إلى عدد البتات المنقولة في الثانية الواحدة.

بتات البيانات_8: 8 بت نقل البيانات في وقت واحد. هذا نموذجي لأن معظم الآلات لديها بايت 8 بت هذه الأيام.

stopbit.S_1.: يضاف بت واحد زائدة لتمييز نهاية الكلمة.

pality_none.: رقم تعادل بتدرج بت. هذه ميزة التحقق من الأخطاء. حتى التماثل حتى، يتم إضافة 1 إذا كان من شأنه أن يجعل مجموع البتات حتى والعكس صحيح للتماثل الفردي. يتم استخدام علامة والمسافة في بعض الأحيان أيضا. RS-232 هو بروتوكول منخفض المستوى وغالبا ما يترك فحص الأخطاء لطبقة التطبيق. أ المجموع الاختباري أو CRC. غالبا ما يتم تضمين حزم البيانات التسلسلية لهذا السبب. على سبيل المثال، يستخدم Ethernet CRC 32 بت لقاذة البيانات الخاصة به، لكنه لا يتعلق أبدا بمطور التطبيقات.

في اتصالات RS-232 يتم تضمين بت البداية. أ جهاز استقبال غير متزامن عالمي / جهاز إرسال (UART) - هذه مكتبة Java هذه ستتحكم في هذه العلامة، ثم تبدأ في تحويل بتات البيانات إلى مخزن مؤقت. لذلك، ستأخذ كل كلمة في النقل الخاص بك 10 بت: 1 بدء بت + 8 بتات بيانات + 1 توقف بت. في 9600 باود، هذا من شأنه أن يوفر لك هذا الحد الأقصى لمعدل نقل البيانات 960 بايت في الثانية، على الرغم من أن ما يعادل 1200 بايت سيتم إرساله: 9600 بت في الثانية مقسوما على 10 بتات لكل كلمة تساوي 960 كلمة في الثانية مع 8 بتات البيانات 1 بايت) لكل كلمة.

هذا التكوين الذي تستخدمه سوف يختصر عادة باسم 9600،8، ن، 1 بالنسبة السرعة، البتات البيانات، التكافؤ وتوقف البتات في هذا النظام.

عندما تقول إنك "حصلت على serialport.setserialportparams (...."، أين حصلت عليه؟ إذا كنت ترغب في فهم المعلمات إلى الطريقة، يرجى الاطلاع الجافادوك

إذا لم تكن معتادا على المنفذ التسلسلي، اقرأ فقط http://www.beyondlogic.org/serial/serial.htm.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top