โค้ด PIC16F877A รับข้อมูล

กระทู้สนทนา
ผมเขียนคำสั่งให้ ไมโครรับข้อมูลจากคอมแต่เมื่อลองสั่งคำสั่งลงไปมันไม่ออกครับ ไม่รู้ว่าเขียนโค้ดถูกหรือป่าวรบกวนหน่อยครับ
ลองเช็คผ่าน MAX232 มีข้อมูลเข้ามา

#include <16F877A.h> // Configuration
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay (clock=20000000) // Crystal 20MHz
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PC_COM) // Use serial I/O port (RS232)
char uart_rd;

void main(void){
set_tris_d(0x00);
output_d(0x00);
delay_ms(100);

while(1){
uart_rd = getc();
if(uart_rd == '1'){
output_high(PIN_D0); delay_ms(5000);
output_low(PIN_D0); delay_ms(500);
}
if(uart_rd == '2'){
output_high(PIN_D1); delay_ms(5000);
output_low(PIN_D1); delay_ms(500);
}
if(uart_rd == '3'){
output_high(PIN_D2); delay_ms(5000);
output_low(PIN_D2); delay_ms(500);
}
if(uart_rd == '4'){
output_high(PIN_D3); delay_ms(5000);
output_low(PIN_D3); delay_ms(500);
}
if(uart_rd == '5'){
output_high(PIN_D4); delay_ms(5000);
output_low(PIN_D4); delay_ms(500);
}
if(uart_rd == '6'){
output_high(PIN_D5); delay_ms(5000);
output_low(PIN_D5); delay_ms(500);
}
if(uart_rd == '7'){
output_high(PIN_D6); delay_ms(5000);
output_low(PIN_D6); delay_ms(500);
}
if(uart_rd == '8'){
output_high(PIN_D7); delay_ms(5000);
output_low(PIN_D7); delay_ms(500);
}
}
}

จากคุณ ACD (A:192.168.0.127 X:203.158.192.55)
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่