2 оюутан нэг баг болж ажиллана.
1. Ажлын зорилго
1. Ubuntu Server Linux-ийн орчинд сериал портыг нээх, хаах
2. GCC компайлар ашиглан сериал портыг програмчлах
3. Linux болон Windows орчинд сериал портоор өгөгдөл солилцох
2. Бэлтгэл ажил
1. 2 компьютерийг сериал портоор холбох кросс кабель
2. Linux орчинд сериал портыг нээх, хаах командуудыг сурах
3. Файлаас өгөгдөл унших, файлд өгөгдөл бичих командуудын сурах
3. Лабораторид хэрэглэгдэх төхөөрөмж
1. Linux (Ubuntu) орчны компьютерууд
2. Кросс холболттой сериал кабель
4. Лабораторын ажлын даалгавар
1. Linux орчны хоёр РС дээр serial.c гэсэн С-гийн файл (текст горимд vi едитор ашиглана, график горимд gedit ашиглаж болно) дээр дараах програмыг бич. Эхний РС дээр дараах кодыг бичнэ.- A-Z үсэг
- 1-10 хүртэл санамсаргүй бүхэл тоо
- 5ш санамсаргүй бутархай тоо
- Өөрийн нэр кодыг гараас өгч нөгөө РС дээр хүлээн авах код тус бүр бичнэ үү. /GCC ашиглан компайл хийнэ/
2 дахь РС дээрх Windows үйлдлийн систем дээр Hyper Terminal програмыг ашиглан хүлээн авч үз.
2 дахь РС дээр Linux ҮС байх ба эхний РС-нээс шидсэн өгөгдөлийг хүлээн авах програмыг С дээр бичин GCC ашиглан компайл хийж харах
3. Linux ҮС бүхий РС дээр том жижиг үсэг тэмдэгтүүд ашиглан дараах 2 тойрог гарахаар С код дээр бичин үр дүнг өөрийн болон сериалаар холбогдсон нөгөө Linux ҮС бүхий компьютерийн дэлгэцэн дээр хэвлэ.
а)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ( 0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ( 1)
~~~~~~~~~~~~~~~~~~~~~~~~~~[]^_`abc~~~~~~~~~~~~~~~~~~~~~~~~~ ( 2)
~~~~~~~~~~~~~~~~~~~~~~~~YZ[]^_`abcde~~~~~~~~~~~~~~~~~~~~~~~ ( 3)
~~~~~~~~~~~~~~~~~~~~~~~XYZ[]^_`abcdef~~~~~~~~~~~~~~~~~~~~~~ ( 4)
~~~~~~~~~~~~~~~~~~~~~~WXYZ[]^_`abcdefg~~~~~~~~~~~~~~~~~~~~~ ( 5)
~~~~~~~~~~~~~~~~~~~~~VWXYZ[]^_`abcdefgh~~~~~~~~~~~~~~~~~~~~ ( 6)
~~~~~~~~~~~~~~~~~~~~~VWXYZ[]^_`abcdefgh~~~~~~~~~~~~~~~~~~~~ ( 7)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ ( 8)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ ( 9)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ (10)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ (11)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ (12)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ (13)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ (14)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ (15)
~~~~~~~~~~~~~~~~~~~~UVWXYZ[]^_`abcdefghi~~~~~~~~~~~~~~~~~~~ (16)
~~~~~~~~~~~~~~~~~~~~~VWXYZ[]^_`abcdefgh~~~~~~~~~~~~~~~~~~~~ (17)
~~~~~~~~~~~~~~~~~~~~~VWXYZ[]^_`abcdefgh~~~~~~~~~~~~~~~~~~~~ (18)
~~~~~~~~~~~~~~~~~~~~~~WXYZ[]^_`abcdefg~~~~~~~~~~~~~~~~~~~~~ (19)
~~~~~~~~~~~~~~~~~~~~~~~XYZ[]^_`abcdef~~~~~~~~~~~~~~~~~~~~~~ (20)
~~~~~~~~~~~~~~~~~~~~~~~~YZ[]^_`abcde~~~~~~~~~~~~~~~~~~~~~~~ (21)
~~~~~~~~~~~~~~~~~~~~~~~~~~[]^_`abc~~~~~~~~~~~~~~~~~~~~~~~~~ (22)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (23)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (24)
б)
ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{| ( 0)
ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^~`abcdefghijklmnopqrstuvwxyz{| ( 1)
ABCDEFGHIJKLMNOPQRSTUVWXYZ~~~~~~~~~defghijklmnopqrstuvwxyz{| ( 2)
ABCDEFGHIJKLMNOPQRSTUVWX~~~~~~~~~~~~~fghijklmnopqrstuvwxyz{| ( 3)
ABCDEFGHIJKLMNOPQRSTUVW~~~~~~~~~~~~~~~ghijklmnopqrstuvwxyz{| ( 4)
ABCDEFGHIJKLMNOPQRSTUV~~~~~~~~~~~~~~~~~hijklmnopqrstuvwxyz{| ( 5)
ABCDEFGHIJKLMNOPQRSTU~~~~~~~~~~~~~~~~~~~ijklmnopqrstuvwxyz{| ( 6)
ABCDEFGHIJKLMNOPQRSTU~~~~~~~~~~~~~~~~~~~ijklmnopqrstuvwxyz{| ( 7)
ABCDEFGHIJKLMNOPQRST~~~~~~~~~~~~~~~~~~~~~jklmnopqrstuvwxyz{| ( 8)
ABCDEFGHIJKLMNOPQRST~~~~~~~~~~~~~~~~~~~~~jklmnopqrstuvwxyz{| ( 9)
ABCDEFGHIJKLMNOPQRST~~~~~~~~~~~~~~~~~~~~~jklmnopqrstuvwxyz{| (10)
ABCDEFGHIJKLMNOPQRST~~~~~~~~~~~~~~~~~~~~~jklmnopqrstuvwxyz{| (11)
ABCDEFGHIJKLMNOPQRS~~~~~~~~~~~~~~~~~~~~~~~klmnopqrstuvwxyz{| (12)
ABCDEFGHIJKLMNOPQRST~~~~~~~~~~~~~~~~~~~~~jklmnopqrstuvwxyz{| (13)
ABCDEFGHIJKLMNOPQRST~~~~~~~~~~~~~~~~~~~~~jklmnopqrstuvwxyz{| (14)
ABCDEFGHIJKLMNOPQRST~~~~~~~~~~~~~~~~~~~~~jklmnopqrstuvwxyz{| (15)
ABCDEFGHIJKLMNOPQRST~~~~~~~~~~~~~~~~~~~~~jklmnopqrstuvwxyz{| (16)
ABCDEFGHIJKLMNOPQRSTU~~~~~~~~~~~~~~~~~~~ijklmnopqrstuvwxyz{| (17)
ABCDEFGHIJKLMNOPQRSTU~~~~~~~~~~~~~~~~~~~ijklmnopqrstuvwxyz{| (18)
ABCDEFGHIJKLMNOPQRSTUV~~~~~~~~~~~~~~~~~hijklmnopqrstuvwxyz{| (19)
ABCDEFGHIJKLMNOPQRSTUVW~~~~~~~~~~~~~~~ghijklmnopqrstuvwxyz{| (20)
ABCDEFGHIJKLMNOPQRSTUVWX~~~~~~~~~~~~~fghijklmnopqrstuvwxyz{| (21)
ABCDEFGHIJKLMNOPQRSTUVWXYZ~~~~~~~~~defghijklmnopqrstuvwxyz{| (22)
ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^~`abcdefghijklmnopqrstuvwxyz{| (23)
ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{| (24)
5. Лабораторийн тайлан
1. С дээр бичсэн кодоо бичиж тайлбарлах
2. Linux-ийн орчины сериал портын програмчилалын онцлог
3. Лабораторын ажлаар олж авсан мэдлэгээ дүгнэж бич
6. Лабораторийн тайлан өгөх, хамгаалах
1. 1 баг 1 тайлан бичнэ.
2. Лаб-ын тайланг бусдаас хуулахгүй, өөрийн үгээр илэрхийлсэн байна.
3. Лаб-ын тайланг Лаб №1 дээр үүсгэсэн өөрийн вэб хуудсан дээр Homework_3 гэсэн нэрэн дээр холбоос /hyperlink/ үүсгэн word файл эсвэл html хэлбэрээр харуулна.
7. Ашиглах материал
Linux-ийн орчинд сериал порт нээх, хаах
FILE *rs232;
rs232=fopen("/dev/ttyS0", "wb"); // Open com port for write
rs232=fopen("/dev/ttyS0", "rb"); // Open com port for read
fclose(rs232); // Close com Port
Hyper Terminal 6.3-г доорх холбоосоос татаж авна уу.
https://sites.google.com/site/csmsce/ht6.rar?attredirects=0&d=1
Windows-ын Hyper Terminal дээр хийх тохиргоог дараах байдлаар хийнэ.
Baud rate 9600 bps
Data bits 8 bits
Parity None
Stop bits 1 bit
Flow control None
Virtual machine дээр сериал порт нэмэх, тохиргоо хийх зааврыг дараах холбоосоор үзээрэй.
https://pubs.vmware.com/workstation-9/index.jsp?topic=%2Fcom.vmware.ws.using.doc%2FGUID-70C25BED-6791-4AF2-B530-8030E39ED749.html
https://www.vmware.com/support/ws45/doc/devices_serial_ws.html
Updated: 2019. 10. 11
No comments:
Post a Comment