GETC();GETCH();GETCHAR()和FGETC()是PIC CCS编译器中PIC单片机的专有函数。它们和C语言里内部函数有点相似。
语法: value=getc()
value=fgetc(stream)
value=getch()
value=getchar()
参数: stream是一串标识符(一个常数字节).
返回值: 返回值是一个8位字符;
功能: 该函数等待一个字符,通过RS232的RCV脚接收进来,并且返回这个字符.如果你不想为接收一个字符而永远等待挂起的话,可使用kbhit()来测试一个字符是否有效.如果内置的USART使用的是硬件串行中断的话,缓冲区为3个字符空间,否则,当这个字符正被PIC接收的时候, getc()必须被激活.
如果fgetc(stream)被使用的话,那么指定的stream就被使用了,这里的fgetc(stream)默认为STDIN(最后一次使用的USE RS232)
有效性: 适合所有的设备
要求: 必须使用#use rs232才可使能上面的函数.
例子: printf(“Continue (Y,N)?”);
do{
answer=getch();
}while(answer!=’Y’ && answer!=’N’);
#use rs232(baud=9600, ximt=pin_c6, rcv=pin_c7, stream=GPS)
#use rs232(baud=1200, ximt=pin_b1, rcv=pin_b0, stream=GPS)
#use rs232(baud=9600, ximt=pin_b3, stream=DEBUG)
…
while(TRUE){
c=fgetc(GPS);
fputc(c, HOSTPC);
if(c==13) fprintf(DEBUG, “Got a CR\r\n”);
}
例子文件: ex_stwt.c,在前面已介绍过了,不再叙述.