ScriptName "Name" ScriptAuthor "Author" ScriptVersion "V x.yz" // Device Control - Hardware - InitFIFO InitFIFO ( a_Data , _PD_Len ) ; // " - " - ReadFIFO ReadFIFO ( a_DataR , w_Number ) ; // " - " - WriteFIFO WriteFIFO ( a_DataW , w_Number ) ; // " - Set Parameter - Set ( AnzahlByteInFIFOReset , 0 ) ; // Reset FIFO // Es können nur noch Daten aus dem FIFO gelesen werden, // wenn vorher über WriteFIFO() Daten hineingeschrieben wurden. // Andernfalls gibt es den neuen Error: // #define EXEC_NOT_ENOUGH_DATA 0x36 // Es können nicht mehr Daten ins FIFO geschrieben werden, // als das FIFO gross ist. Andernfalls kommt der neue Error: // #define EXEC_TOO_MUCH_DATA 0x37 SetErrorHandler ( :AddressErrror ) ; SetSystemErrorHandler ( :AddressSysError ) ; var a_Data:buffer[16]; var a_DataR:buffer[10]; var a_DataW:buffer[10]; var w_Number:word; moveconst (w_Number, 3); var wtemp : word; var btemp : byte; InitFIFO ( a_Data[0] , 16 ) ; :main; moveconst (a_DataW[0], "xyz"); WriteFIFO ( a_DataW[0] , w_Number ) ; moveconst (w_Number, 1); ReadFIFO ( a_DataR[0] , w_Number ) ;// Error 0x1F kommt wenn Init nicht gesetzt. Get ( AnzahlByteInFIFO , wtemp ) ; Set ( AnzahlByteInFIFOReset , 0 ) ; Get ( AnzahlByteInFIFO , wtemp ) ; jump :main; :AddressErrror; Get ( errorCode , btemp ) ; // TBD return; :AddressSysError; Get ( systemError , btemp ) ; // TBD return;