Go to the source code of this file.
Functions | |
void | F_Uart0Initial (void) |
void | F_Uart0BufferReset (void) |
INT8U | F_Uart0RxBufferCheck (void) |
INT8U | F_Uart0RxBufferCheckIsr (void) |
void | F_Uart0RxBufferPut (INT8U Data) |
void | F_Uart0RxBufferPutIsr (INT8U Data) |
INT8U | F_Uart0RxBufferGet (void) |
INT8U | F_Uart0TxBufferCheckIsr (void) |
INT8U | F_Uart0TxBufferCheck (void) |
void | F_Uart0TxBufferPut (INT8U Data) |
INT8U | F_Uart0TxBufferGet (void) |
INT8U | F_Uart0TxBufferGetIsr (void) |
void | F_Uart0BaudrateSet (INT32U Baudrate) |
void | F_Uart0IsrHook (void) |
void | F_Uart0CharTx (INT8 Data) |
INT8 | F_Uart0RxCheck (void) |
INT8 | F_Uart0CharRx (void) |
void | F_Uart0StringTx (INT8 *pString) |
INT8 | kbhit (void) |
INT8 | getkey (void) |
INT8 | getc (void) |
void | putc (INT8 Data) |
char | putch (INT8 Data) |
void | puts (INT8 *pString) |
INT8 | getch (void) |
INT32 | strlen (const char *String) |
void | F_StringPut (const char *String) |
void | F_Uart0Svc2 (void) |
void | F_Uart0Svc (void) |
void F_StringPut | ( | const char * | String | ) |
void F_Uart0BaudrateSet | ( | INT32U | Baudrate | ) |
void F_Uart0BufferReset | ( | void | ) |
INT8 F_Uart0CharRx | ( | void | ) |
Definition at line 215 of file uart0.c.
00215 { 00216 INT8U Data; 00217 00218 if(F_Uart0RxBufferCheck()!=UART0_BUFFER_EMPTY){ 00219 Data=F_Uart0RxBufferGet(); 00220 return (INT8)Data; 00221 } 00222 return 0; 00223 }
void F_Uart0CharTx | ( | INT8 | Data | ) |
Definition at line 207 of file uart0.c.
00207 { 00208 //while(F_Uart0RxBufferCheck()==UART0_BUFFER_FULL); // wait if beffer full 00209 F_Uart0TxBufferPut((INT8U)Data); 00210 }
void F_Uart0Initial | ( | void | ) |
Definition at line 12 of file uart0.c.
00012 { 00013 // UART0 sfr initialize 00014 //****** 00015 //rULCON0=0x00; // uart line control register 00016 //rUCON0=0x00; // uart control register 00017 //rUFCON0=0x00; // uart FIFO control register 00018 //rUMCON0=0x00; // uart cF_IsrTimer4hannel 0 moden control register 00019 //Data=UTRSTAT0; // uart transmit receive status register 00020 //Data=rUERSTAT0; // uart error status register 00021 //Data=rUFSTAT0; // uart fifo status 00022 //Data=rUMSTAT0; // uart moden status register 00023 00024 HandleUART0=(INT32U)F_IsrUart0; 00025 Uart0Ctrl.pUart0Register=(UART0_REGISTER *)0x50000000; 00026 Uart0Ctrl.pUart0Register->ULCON=0x00000003; // n.8.1 00027 Uart0Ctrl.pUart0Register->UCON=0x00000045; // enable tx,rx 00028 Uart0Ctrl.pUart0Register->UFCON=0x00000000; 00029 Uart0Ctrl.pUart0Register->UMCON=0x00000000; 00030 Uart0Ctrl.pUart0Register->UTRSTAT=0x00000006; 00031 Uart0Ctrl.pUart0Register->UBRDIV=((int)(50000000/(16.*19200)+0.5)-1); //set baudrae to 19200 00032 //Uart0Ctrl.pUart0Register->UERSTAT=0x00000000; // read only 00033 //Uart0Ctrl.pUart0Register->UFSTAT=0x00000000; // read only 00034 //Uart0Ctrl.pUart0Register->UMSTAT=0x00000000; // read only 00035 //Uart0Ctrl.pUart0Register->UTXH=0x00000000; // write only 00036 //Uart0Ctrl.pUart0Register->URXH=0x00000000; // read only 00037 //Uart0Ctrl.pUart0Register->UBRDIV=0x00000000; 00038 Uart0Ctrl.TxBuffer.Get=0; 00039 Uart0Ctrl.TxBuffer.Put=0; 00040 Uart0Ctrl.RxBuffer.Get=0; 00041 Uart0Ctrl.RxBuffer.Put=0; 00042 Uart0Ctrl.UartTxTransmit=0; 00043 //Uart0Ctrl.TxState=Uart0TxIdleState; 00044 //Uart0Ctrl.RxState=Uart0RxIdleState; 00045 }
void F_Uart0IsrHook | ( | void | ) |
Definition at line 183 of file uart0.c.
00183 { 00184 INT8U Data; 00185 00186 ClearSubPending(BIT_SUB_RXD0|BIT_SUB_TXD0|BIT_SUB_ERR0); 00187 ClearPending(BIT_UART0); 00188 if(rUTRSTAT0&UART0_UTRSTAT0_TX){ // tx int 00189 /*if(F_Uart0TxBufferCheckIsr()==UART0_BUFFER_EMPTY){ 00190 Uart0Ctrl.UartTxTransmit=0; 00191 } 00192 else{ 00193 Data=F_Uart0TxBufferGetIsr(); 00194 SERIAL_WRITE_CHAR(Data); 00195 }*/ 00196 Uart0Ctrl.UartTxTransmit=0; 00197 } 00198 if(rUTRSTAT0&UART0_UTRSTAT0_RX){ // rx int 00199 Data=SERIAL_READ_CHAR(); 00200 F_Uart0RxBufferPutIsr(Data); 00201 } 00202 if(rUERSTAT0&0x0f){ 00203 //F_Uart0RxError(); // error int 00204 } 00205 }
INT8U F_Uart0RxBufferCheck | ( | void | ) |
Definition at line 52 of file uart0.c.
00052 { 00053 if(Uart0Ctrl.RxBuffer.Put!=Uart0Ctrl.RxBuffer.Get){ 00054 if(Uart0Ctrl.RxBuffer.Put==(UART0_MAX_BUFFER_SIZE-1)){ 00055 if(Uart0Ctrl.RxBuffer.Get==0) return UART0_BUFFER_FULL; 00056 else return UART0_BUFFER_NOT_EMPTY; 00057 } 00058 else{ 00059 if((Uart0Ctrl.RxBuffer.Put+1)==Uart0Ctrl.RxBuffer.Get) return UART0_BUFFER_FULL; 00060 else return UART0_BUFFER_NOT_EMPTY; 00061 } 00062 } 00063 else return UART0_BUFFER_EMPTY; 00064 }
INT8U F_Uart0RxBufferCheckIsr | ( | void | ) |
Definition at line 65 of file uart0.c.
00065 { 00066 if(Uart0Ctrl.RxBuffer.Put!=Uart0Ctrl.RxBuffer.Get){ 00067 if(Uart0Ctrl.RxBuffer.Put==(UART0_MAX_BUFFER_SIZE-1)){ 00068 if(Uart0Ctrl.RxBuffer.Get==0) return UART0_BUFFER_FULL; 00069 else return UART0_BUFFER_NOT_EMPTY; 00070 } 00071 else{ 00072 if((Uart0Ctrl.RxBuffer.Put+1)==Uart0Ctrl.RxBuffer.Get) return UART0_BUFFER_FULL; 00073 else return UART0_BUFFER_NOT_EMPTY; 00074 } 00075 } 00076 else return UART0_BUFFER_EMPTY; 00077 }
INT8U F_Uart0RxBufferGet | ( | void | ) |
Definition at line 100 of file uart0.c.
00100 { 00101 INT8U Data; 00102 00103 if(F_Uart0RxBufferCheck()==UART0_BUFFER_EMPTY) return 0; 00104 if(Uart0Ctrl.RxBuffer.Get==(UART0_MAX_BUFFER_SIZE-1)){ 00105 Data=Uart0Ctrl.RxBuffer.Data[Uart0Ctrl.RxBuffer.Get]; 00106 Uart0Ctrl.RxBuffer.Get=0; 00107 } 00108 else{ 00109 Data=Uart0Ctrl.RxBuffer.Data[Uart0Ctrl.RxBuffer.Get]; 00110 Uart0Ctrl.RxBuffer.Get++; 00111 } 00112 return Data; 00113 }
void F_Uart0RxBufferPut | ( | INT8U | Data | ) |
Definition at line 78 of file uart0.c.
00078 { 00079 if(F_Uart0RxBufferCheck()==UART0_BUFFER_FULL) return; 00080 if(Uart0Ctrl.RxBuffer.Put==(UART0_MAX_BUFFER_SIZE-1)){ 00081 Uart0Ctrl.RxBuffer.Data[Uart0Ctrl.RxBuffer.Put]=Data; 00082 Uart0Ctrl.RxBuffer.Put=0; 00083 } 00084 else{ 00085 Uart0Ctrl.RxBuffer.Data[Uart0Ctrl.RxBuffer.Put]=Data; 00086 Uart0Ctrl.RxBuffer.Put++; 00087 } 00088 }
void F_Uart0RxBufferPutIsr | ( | INT8U | Data | ) |
Definition at line 89 of file uart0.c.
00089 { 00090 if(F_Uart0RxBufferCheckIsr()==UART0_BUFFER_FULL) return; 00091 if(Uart0Ctrl.RxBuffer.Put==(UART0_MAX_BUFFER_SIZE-1)){ 00092 Uart0Ctrl.RxBuffer.Data[Uart0Ctrl.RxBuffer.Put]=Data; 00093 Uart0Ctrl.RxBuffer.Put=0; 00094 } 00095 else{ 00096 Uart0Ctrl.RxBuffer.Data[Uart0Ctrl.RxBuffer.Put]=Data; 00097 Uart0Ctrl.RxBuffer.Put++; 00098 } 00099 }
INT8 F_Uart0RxCheck | ( | void | ) |
Definition at line 211 of file uart0.c.
00211 { 00212 if(F_Uart0RxBufferCheck()!=UART0_BUFFER_EMPTY) return TRUE; 00213 else return FALSE; 00214 }
void F_Uart0StringTx | ( | INT8 * | pString | ) |
Definition at line 224 of file uart0.c.
00224 { 00225 while(*pString!=0) F_Uart0CharTx(*pString++); 00226 }
void F_Uart0Svc | ( | void | ) |
Definition at line 294 of file uart0.c.
00294 { 00295 INT8U Data; 00296 00297 if(Uart0Ctrl.UartTxTransmit==1) return; 00298 if(F_Uart0TxBufferCheck()==UART0_BUFFER_EMPTY) return;; 00299 Data=F_Uart0TxBufferGet(); 00300 Uart0Ctrl.UartTxTransmit=1; 00301 SERIAL_WRITE_CHAR(Data); 00302 }
void F_Uart0Svc2 | ( | void | ) |
Definition at line 278 of file uart0.c.
00278 { 00279 INT8U Data; 00280 INT32U Status; 00281 00282 if(SERIAL_READ_READY()){ 00283 Data=SERIAL_READ_CHAR(); 00284 Status=SERIAL_READ_STATUS(); 00285 F_Uart0RxBufferPut(Data); 00286 } 00287 if(F_Uart0TxBufferCheck()!=UART0_BUFFER_EMPTY){ 00288 if(SERIAL_WRITE_READY()==0) return; 00289 Data=F_Uart0TxBufferGet(); 00290 SERIAL_WRITE_CHAR(Data); 00291 } 00292 }
INT8U F_Uart0TxBufferCheck | ( | void | ) |
Definition at line 127 of file uart0.c.
00127 { 00128 if(Uart0Ctrl.TxBuffer.Put!=Uart0Ctrl.TxBuffer.Get){ 00129 if(Uart0Ctrl.TxBuffer.Put==(UART0_MAX_BUFFER_SIZE-1)){ 00130 if(Uart0Ctrl.TxBuffer.Get==0) return UART0_BUFFER_FULL; 00131 else return UART0_BUFFER_NOT_EMPTY; 00132 } 00133 else{ 00134 if((Uart0Ctrl.TxBuffer.Put+1)==Uart0Ctrl.TxBuffer.Get) return UART0_BUFFER_FULL; 00135 else return UART0_BUFFER_NOT_EMPTY; 00136 } 00137 } 00138 else return UART0_BUFFER_EMPTY; 00139 }
INT8U F_Uart0TxBufferCheckIsr | ( | void | ) |
Definition at line 114 of file uart0.c.
00114 { 00115 if(Uart0Ctrl.TxBuffer.Put!=Uart0Ctrl.TxBuffer.Get){ 00116 if(Uart0Ctrl.TxBuffer.Put==(UART0_MAX_BUFFER_SIZE-1)){ 00117 if(Uart0Ctrl.TxBuffer.Get==0) return UART0_BUFFER_FULL; 00118 else return UART0_BUFFER_NOT_EMPTY; 00119 } 00120 else{ 00121 if((Uart0Ctrl.TxBuffer.Put+1)==Uart0Ctrl.TxBuffer.Get) return UART0_BUFFER_FULL; 00122 else return UART0_BUFFER_NOT_EMPTY; 00123 } 00124 } 00125 else return UART0_BUFFER_EMPTY; 00126 }
INT8U F_Uart0TxBufferGet | ( | void | ) |
Definition at line 151 of file uart0.c.
00151 { 00152 INT8U Data; 00153 00154 if(F_Uart0TxBufferCheck()==UART0_BUFFER_EMPTY) return 0; 00155 if(Uart0Ctrl.TxBuffer.Get==(UART0_MAX_BUFFER_SIZE-1)){ 00156 Data=Uart0Ctrl.TxBuffer.Data[Uart0Ctrl.TxBuffer.Get]; 00157 Uart0Ctrl.TxBuffer.Get=0; 00158 } 00159 else{ 00160 Data=Uart0Ctrl.TxBuffer.Data[Uart0Ctrl.TxBuffer.Get]; 00161 Uart0Ctrl.TxBuffer.Get++; 00162 } 00163 return Data; 00164 }
INT8U F_Uart0TxBufferGetIsr | ( | void | ) |
Definition at line 165 of file uart0.c.
00165 { 00166 INT8U Data; 00167 00168 if(F_Uart0TxBufferCheckIsr()==UART0_BUFFER_EMPTY) return 0; 00169 if(Uart0Ctrl.TxBuffer.Get==(UART0_MAX_BUFFER_SIZE-1)){ 00170 Data=Uart0Ctrl.TxBuffer.Data[Uart0Ctrl.TxBuffer.Get]; 00171 Uart0Ctrl.TxBuffer.Get=0; 00172 } 00173 else{ 00174 Data=Uart0Ctrl.TxBuffer.Data[Uart0Ctrl.TxBuffer.Get]; 00175 Uart0Ctrl.TxBuffer.Get++; 00176 } 00177 return Data; 00178 }
void F_Uart0TxBufferPut | ( | INT8U | Data | ) |
Definition at line 140 of file uart0.c.
00140 { 00141 if(F_Uart0TxBufferCheck()==UART0_BUFFER_FULL) return; 00142 if(Uart0Ctrl.TxBuffer.Put==(UART0_MAX_BUFFER_SIZE-1)){ 00143 Uart0Ctrl.TxBuffer.Data[Uart0Ctrl.TxBuffer.Put]=Data; 00144 Uart0Ctrl.TxBuffer.Put=0; 00145 } 00146 else{ 00147 Uart0Ctrl.TxBuffer.Data[Uart0Ctrl.TxBuffer.Put]=Data; 00148 Uart0Ctrl.TxBuffer.Put++; 00149 } 00150 }
INT8 getc | ( | void | ) |
Definition at line 238 of file uart0.c.
00238 { 00239 INT8 key; 00240 00241 while(1){ 00242 key=getkey(); 00243 if(key!=0) return key; 00244 F_Uart0Svc(); // receive uart data using polling mode 00245 } 00246 }
INT8 getch | ( | void | ) |
Definition at line 257 of file uart0.c.
00257 { 00258 INT8 key; 00259 00260 while(1){ 00261 key=getkey(); 00262 if(key!=0) return key; 00263 F_Uart0Svc(); // receive uart data using polling mode 00264 } 00265 }
INT8 getkey | ( | void | ) |
Definition at line 232 of file uart0.c.
00232 { 00233 INT8 Data; 00234 00235 Data=F_Uart0CharRx(); // Data==0...key not exist 00236 return Data; 00237 }
INT8 kbhit | ( | void | ) |
Definition at line 228 of file uart0.c.
00228 { 00229 if(F_Uart0RxCheck()==TRUE) return 1; 00230 else return 0; 00231 }
void putc | ( | INT8 | Data | ) |
char putch | ( | INT8 | Data | ) |
Definition at line 250 of file uart0.c.
00250 { 00251 F_Uart0CharTx(Data); 00252 return Data; 00253 }
void puts | ( | INT8 * | pString | ) |
INT32 strlen | ( | const char * | String | ) |