View Single Post
Old 07-09-2006, 11:50 PM   #11
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi vtt View Post
Bác nào chỉ giùm tôi với!
#include <16F877A.h>
#include <DEFS_16F877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#define RunningLed RD2
int8 ch;

void main(void) {

//Output_high(PIN_D2);
RunningLed = 1;
while(true){
ch = getc();
if (ch == 0) {
putc(ch);
}
else {
ch = ch + 1;
putc(ch);
}
}
}
Trên đây là chương trình tôi viết thử để giao tiếp với PC, nhưng không được.
Có hai điều tôi muốn hỏi các bác!
- Tại sao khi tôi dùng lệnh RunningLed = 1; ở trên thì mạch lại không chạy ( tức là chân RD2 không tích cực mức cao). Còn khi tôi dùng lệnh output_high(PIN_D2) thì lại được.
...
Đã dùng được output_high(PIN_D2) thì tại sao còn phải tìm cách khác! Cách dùng này là chuẩn đối với CCS.

Trong tập tin "DEFS_16F877A.h" bạn có định nghĩa RD2 hay không? Nếu có thì định nghĩa như thế nào?

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
namqn vẫn chưa có mặt trong diễn đàn