pic và rs232
các bác ơi xin chỉ giáo cho em chút, em mới học pic mà tự mày mò chẳng biết hỏi ai cả.
em đang viết đoạn code giao tiếp với máy tính qua cổng rs232 mà không được. Code của em như sau //************************ #include <18F4550.h> #device *=16 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #use rs232(baud=9600,parity=n,xmit=pin_C6,rcv=pin_C7,bi ts=8) #define LCD_ENABLE_PIN PIN_D2 #define LCD_RS_PIN PIN_D0 #define LCD_RW_PIN PIN_D1 #define LCD_DATA4 PIN_D4 #define LCD_DATA5 PIN_D5 #define LCD_DATA6 PIN_D6 #define LCD_DATA7 PIN_D7 #include "lcd.c" #include <string.h> void main() { int i; while(1) { lcd_init(); printf(lcd_putc,"ct rs232"); delay_ms(100); printf(lcd_putc,"\n nhap pass"); delay_ms(100); char tinhieu[20]; char pas[20]="nvb"; gets(tinhieu); if(strcmp(tinhieu, pas)) puts("ok"); else puts("sai pas"); } } //******************* không biết em sai chổ nào, cái rs232 này ít tài liệu quá Mong các bác chỉ giáo thank nhiều |
Lỗi của bạn là gì?
Cổng COM của bạn hoạt động OK chứ? Thử dùng hàm printf lên một chuỗi xem PC có nhận dc ko nhé! Good luck, |
Em không hiểu ý của bác lắm, tại gửi một chuổi thì hình như là bằng puts ( theo em đọc tài liệu). Em hỏi mấy nguời thì bảo là khi gửi một chuổi cần có những báo hiệu bắt đầu và kết thúc,nhưng mà em đọc trong các tài liệu thì không thấy nhắc gì đến. Không biết có cần đến hàm ngắt không hả các bác
|
Ý mình là trước tiên bạn phải check xem kết nối giữa máy tính và mạch đã ổn chưa bằng cách gửi thử một chuỗi lên PC.
Code:
|
anh ơi. Nếu em dùng printf() thì pic sẽ tự động chuyển chuổi lên máy tính và hiện trên màn hình thông qua cổng r232 hả anh. ý em là có cần khai báo gì cho rs232 không. Em mới làm nên gà quá :D thank anh nhiều
|
Múi giờ GMT. Hiện tại là 09:07 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam