|
Amateur Member
|
我把UART I/O的程式模組化了,
可是在輸出的時候遇到亂碼的情況,
程式如下:
代碼:
void uart_read_char(char *ch){ //這是從UART讀一個char的副程式
char in;
REN=1;
while(RI!=1);
RI=0;
//in=SBUF;
//uart_write_char(in);
*ch=SBUF; //這樣寫出就會 NAK(0x15)的亂碼
uart_write_char(*ch); //從UART寫一個char,在這呼叫因為在debug
}
目前的問題就是,如果寫成
in=SBUF;
uart_write_char(in);
就可以正確的輸出輸入(用軟體終端機測試)
但是如果寫成
*ch=SBUF;
uart_write_char(*ch);
就會讀到NAK(0x15)
難道Keli C不支援指標傳遞嗎?
主程式:
代碼:
#ifdef TEST_UART
void main(){
char keyin;
uart_init(UART_MODE_1,BUAT_RATE_9600);
while(1){
uart_read_char(&keyin);
}
}
#endif
__________________
動怒不動氣(對不滿的事情表達不悅,但是不讓其過份影響個人情緒),
挑嘴不挑食(對飲食頗有想法但是有得吃就吃)
|