![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển... |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 18
: |
![]() hehe, đúng là biển học rộng thật, được cái này thì lại lòi ra cái khác o biết, Bác Delfy cho e hỏi là "\r" có ý nghĩa gì vậy !! Mấy cái \kí tự khác e bit nhưng tự nhiên gặp cái \r e lại o đoán ra dc nó có nghĩa gì !! Các bác chỉ giáo nhé !!!
__________________
ALWAYS BE U !! HEHEHE |
![]() |
![]() |
![]() |
#2 | |
Đệ tử 4 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Hanoi, Vietnam
Bài gửi: 78
: |
![]() Trích:
Qua đây, chắc bạn cũng rèn luyện cho mình tính cẩn thận hơn. ![]() Đúng là việc giao tiếp PIC với PC, nếu phần cứng mà không tốt thì dễ nhiễu lắm! Còn cái "\r" là gì thì bạn test thử biết ngay ấy mà. Thử truyền lên PC 3 dòng sau: Code:
printf("Xin chao\r"); printf("PIC VIET NAM"); printf(" 2009"); Thân.
__________________
Mechatronics Department University of Engineering and Technology, VNUH. |
|
![]() |
![]() |
![]() |
#3 |
Trưởng lão PIC bang
|
Theo tài liệu "The C programming Language" của Brian Kernighan và Dennis Ritchie thì "\r" là chuỗi thoát cho ký tự "carriage return".
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 27-11-2009 lúc 04:46 PM. Lý do: /r => \r |
![]() |
![]() |
![]() |
#4 | |
Đệ tử 4 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Hanoi, Vietnam
Bài gửi: 78
: |
![]() Trích:
Chức năng của nó là chuyển xuống dòng mới khi in.
__________________
Mechatronics Department University of Engineering and Technology, VNUH. |
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 18
: |
![]() Sau khi nghiên cứu " THE ANSI C PROGRAMMING LANGUAGE" thì em xin edit lại ý kiến của bác Delfy 1 chút là: " \r= move to begin of newline", chứ o phải là chuyển xuống dòng mới như bác nói ( như bác nói thì \n mới chính xác). Em chỉ mạo muội có ý kiến vậy thôi, có j các bác chỉ giáo thêm nhé !!!
Thân !!
__________________
ALWAYS BE U !! HEHEHE |
![]() |
![]() |
![]() |
#6 |
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 18
: |
![]() Sau khi đã truyền lên pc okie, e lại tiếp tục chuyển sang nghiên cứu phần truyền từ pc xuống com. Em định thiết lập 1 form VB như sau :
![]() Em sẽ lập trình để khi mình nhập từ bàn phím vào Text 1 số kí tự, sau đó press Send thì ở LCD4bit của em cũng sẽ nhận được tương ứng. Em có tham khảo trên 4rum mình và tiến hành lập trình vb tương tự như sau; Code:
Private Sub Form_KeyPress(KeyAscii As Integer) Dim DataToSend As String DataToSend = KeyAscii MSComm1.Output = DataToSend End Sub Private Sub Form_Load() With MSComm1 .Settings = "9600,N,8,1" .RThreshold = 1 .SThreshold = 0 .InBufferSize = 1024 .OutBufferSize = 1024 .InputMode = comInputModeText .ParityReplace = "" .CommPort = 6 ' using com6 End With End Sub Code:
#include <16f88.h> #include <def_88.h> #device *=16 ADC=10 #fuses NOWDT, HS, PUT, NOLVP #use delay(clock=4000000) #use rs232(baud=9600,parity=N,xmit=PIN_B5,rcv=PIN_B2,bits=9) #include <LCD_4BIT16F88edit.C> // Thu vien ham cho LCD void main() { trisB=0x00; lcd_init(); lcd_putcmd(0x80); getc(); } ![]() Về phần VB chắc code gửi data của e vẫn chưa được : vẫn còn hoài nghi cái chỗ mscomm1.output=datatosend. Về phần CCS chắc code nhận data chắc cũng o ổn : e nghi ngờ cách dùng hàm getc() của mình, hehe. Các tiền bối chỉ giáo cho kẻ hậu bối này với nhá !!! Thanks nhìu nhìu !!!
__________________
ALWAYS BE U !! HEHEHE |
![]() |
![]() |
![]() |
#7 |
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 18
: |
![]() các cao nhân đi đâu hết rùi !! Chỉ giáo dùm e 1 cái...
__________________
ALWAYS BE U !! HEHEHE |
![]() |
![]() |
![]() |
|
|