// 2015-Apr-24 // RT-210 SYSTRAP NUMBERS #include #include #include #include #include #define U32 unsigned int #define U16 unsigned short #define U8 unsigned char //============ SYSTEM CALLS NUMBERS ==== #define _Reset 5 #define _Exit 7 #define _Delay 10 #define _Delay_uS 12 //============= SCREEN ==================== #define _Fill_Screen 100 //------------- Text ---------------------- #define _Set_Font 120 #define _Print_String 122 //------------- Graph --------------------- #define _Set_Color 140 #define _Put_Bmp 142 #define _Put_Pixel 144 #define _Get_Pixel 146 #define _Put_Line 148 #define _Save_Box 150 #define _Restore_Box 152 #define _Box 154 //============= LCD ======================= //#define _LCD_LEDs 190 //#define _LCD_Video 192 //============= TOUCHSCREEN ================ //#define _Get_TSBuffer 270 // Pen status[0], coord X[1], coord Y[2] #define _TS 272 // Pen down, X, Y //============= RTC ======================= #define _Get_RTC 300 //============= TIMER ===================== #define _Get_ms 320 //============= SD CARD =================== #define _Read_SD 350 #define _Write_SD 352 //============= FILES ===================== #define _Open_File 400 #define _Read_File 402 #define _Write_File 404 //============= ADC ======================= #define _Get_ADC 500 //============= PWM ======================= #define _PWM_out0 520 //#define _PWM_out1 522 #define _PWM_out2 524 //#define _PWM_out3 526 //============= SOUND ===================== #define _Buzz 550 #define _Buzzer_Freq 552 #define _Buzzer_Out 554 #define _PSound 570 //============= IIC ==================== #define _IIC_read 600 #define _IIC_write 602 //============= UART ====================== #define _Uart_Init 620 #define _Uart_Select 622 #define _Uart_Printf 624 #define _Uart_TxEmpty 626 #define _Uart_GetChar 628 // Wait for Data #define _Uart_GetKey 630 // NoWait #define _Uart_GetString 632 #define _Uart_SendByte 634 #define _Uart_SendString 636 //============= NET ======================= //#define _NIC_Init 700 //#define _NIC_rx 710 //#define _NIC_tx 720 //#define _Server 800 //#define _Client 810 //============= MISC ====================== #define _Dec2Asc 950 #define _Hex2Asc 952 ////////////// SYSTEM FUNCTs HEADERs //////////////// void Exit (void); void Delay (U32 ms); void Delay_uS (U32 uS ); //==== SCREEN ====================== void Fill_Screen (U16 color); //==== Text ====================== void Set_Font (U8 Bold,U16 Fore_Col, U16 Back_Col); //If Back=1 Transparent void Print_String (U16 x0, U16 y0, char *txt); void Printf (U16 x0, U16 y0, char *fmt,...); //==== Graph ====================== void Set_Color (U16 Color); void Put_Bmp (U16 x0, U16 y0, char *bmp); void Put_Pixel (U16 x, U16 y, U16 color); int Get_Pixel (U16 x, U16 y); void Put_Line (U16 x0, U16 y0, U16 x1, U16 y1); void Save_Box (U16 x0, U16 y0, U16 w, U16 h); void Restore_Box (U16 x0, U16 y0); void Box (U16 x0, U16 y0, U16 x1, U16 y1); //==== LCD ====================== void LCD_LEDs (U8 invpwren,U8 pwren); //Lcd_PowerEnable void LCD_Video (U8 on_off); //Lcd_Video_On_Off //==== TOUCHSCREEN ============= void Get_TSBuffer (U32 z); // Read: int Get_TSBuffer(void) use: z=Get_TSBuffer(); int TS ( char command ); //==== RTC ===================== void Get_RTC (char *txt); void Get_ms (U32 ms); // Read: int Get_ms(void) use: ms=Get_ms(); //==== SD CARD ================== int Read_SD ( char *RAM_address, U32 SD_address, U16 block); int Write_SD ( char *RAM_address, U32 SD_address, U16 block); //==== FILES ================== int Open_File (char *fname); int Read_File(char *f_buf, int len); int Write_File(char *f_buf, int len); //==== ADC ===================== int Get_ADC (U8 ADC_chan); //==== PWM ==================== void PWM_out0 (U8 val); void PWM_out1 (U8 val); void PWM_out2 (U8 val); void PWM_out3 (U8 val); //==== SOUND ==================== void Buzz (U32 freq, U32 ms); void Buzzer_Freq (U32 freq); void Buzzer_Out (char on_off); // On/Off void PSound (U8 *buf, int len ); //==== IIC ==================== U8 IIC_read ( U8 slave_addr, int addr); void IIC_write ( U8 slave_addr, int addr, U8 data); //==== UART ==================== void Uart_Init (U8 chan, U32 BaudRate); void Uart_Select (U8 chan); void Uart_Printf (char *fmt,...); void Uart_TxEmpty (U8 chan); char Uart_GetChar (U8 chan); // Wait for Data char Uart_GetKey (U8 chan); // NoWait (immediate) void Uart_GetString (char *string); void Uart_SendByte (U8 data); void Uart_SendString (char *pt); //==== NET ==================== char NIC_init (char *MAC_addr); int NIC_rx (U16 *RX_buffer); void NIC_tx (U16 *TX_buffer, U16 Nbytes); void Server ( U8 port, U8 *host_ip, U8 *page, U8 *arg ); int Client ( U8 *client_ip, U8 *host_ip, U8 *req, U8 *c_buf ); //==== MISC ==================== void Dec2Asc (U32 num, char *txt); void Hex2Asc (U32 num, char *txt); ////////////////////////////////////////////////////////////////////////////////////////////////// //==== SYSTEM FUNCTs DEFINITIONs ==== void Reset (void) {__asm{SWI(_Reset)}} void Exit (void) {__asm{SWI(_Exit)}} void Delay (U32 ms) {__asm{SWI(_Delay)}} void Delay_uS (U32 uS ) {__asm{SWI(_Delay_uS)}} // OR { int i,j; // for ( i=0; i