瀏覽單個文章
booger
Amateur Member
 
booger的大頭照
 

加入日期: Nov 2004
您的住址: 丁丁科技大學
文章: 45
請教Keli C語法和UART I/O的問題

我把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
     
      
__________________
動怒不動氣(對不滿的事情表達不悅,但是不讓其過份影響個人情緒)
挑嘴不挑食(對飲食頗有想法但是有得吃就吃)
舊 2009-08-01, 09:03 AM #1
回應時引用此文章
booger離線中