PUT
Contents |
Action
Writes a byte to the hardware or software UART.
Writes data to a file opened in BINARY mode.
Syntax
PUT #channel, var
PUT #channel, var ,[pos] [,length]
Remarks
PUT in combination with the software/hardware UART is provided for compatibility with BASCOM-8051. It writes one byte
PUT in combination with the AVR-DOS file system is very flexible and versatile. It works on files opened in BINARY mode and you can write all data types.
|
A channel number, which identifies an opened file. This can be a hard coded constant or a variable. |
Var |
The variable or variable array that will be written to the file |
Pos |
This is an optional parameter that may be used to specify the position where the data must be written. This must be a long variable. |
Length |
This is an optional parameter that may be used to specify how many bytes must be written to the file. |
By default you only need to provide the variable name. When the variable is a byte, 1 byte will be written. When the variable is a word or integer, 2 bytes will be written. When the variable is a long or single, 4 bytes will be written. When the variable is a string, the number of bytes that will be written is equal to the dimensioned size of the string. DIM S as string * 10 , would write 10 bytes.
Note that when you specify the length for a string, the maximum length is 255. The maximum length for a non-string array is 65535.
Example
PUT #1, var
PUT #1, var , , 2 ' write 2 bytes at default position
PUT #1, var ,PS, 2 ' write 2 bytes at location storied in variable PS
See also
INITFILESYSTEM , OPEN , CLOSE, FLUSH , PRINT, LINE INPUT, LOC, LOF , EOF , FREEFILE , FILEATTR , SEEK , BSAVE ,BLOAD , KILL , DISKFREE , DISKSIZE , GET, FILEDATE , FILETIME , FILEDATETIME , DIR , FILELEN , WRITE , INPUT, AVR-DOS File system
ASM
current position |
Goto new position first |
Byte: |
|
_FilePutRange_1 Input: r24: File number X: Pointer to variable T-Flag cleared |
_FilePutRange_1 Input: r24: File number X: Pointer to variable r16-19 (A): New position (1-based) T-Flag Set |
Word/Integer: |
|
_FilePutRange_2 Input: r24: File number X: Pointer to variable T-Flag cleared |
_FilePutRange_2 Input: r24: File number X: Pointer to variable r16-19 (A): New position (1-based) T-Flag Set |
Long/Single: |
|
_FilePutRange_4 Input: r24: File number X: Pointer to variable T-Flag cleared |
_FilePutRange_4 Input: r24: File number X: Pointer to variable r16-19 (A): New position (1-based) T-Flag Set |
String (<= 255 Bytes) with fixed length |
|
_FilePutRange_Bytes Input: r24: File number r20: Count of Bytes X: Pointer to variable T-Flag cleared |
_FilePutRange_Bytes Input: r24: File number r20: Count of bytes X: Pointer to variable r16-19 (A): New position (1-based) T-Flag Set |
Array (> 255 Bytes) with fixed length |
|
_FilePutRange Input: r24: File number r20/21: Count of Bytes X: Pointer to variable T-Flag cleared |
_FilePutRange Input: r24: File number r20/21: Count of bytes X: Pointer to variable r16-19 (A): New position (1-based) T-Flag Set |
Output from all kind of usage:
r25: Error Code
C-Flag on Error
Example
'for the binary file demo we need some variables of different types Dim B AsByte, W AsWord, L AsLong, Sn AsSingle, Ltemp AsLong Dim Stxt AsString* 10 B = 1 : W = 50000 : L = 12345678 : Sn = 123.45 : Stxt ="test" 'open the file in BINARY mode Open "test.biN" For Binary As#2 Put#2 , B ' write a byte Put#2 , W ' write a word Put#2 , L ' write a long Ltemp =Loc(#2)+ 1 ' get the position of the next byte Print Ltemp ;" LOC"' store the location of the file pointer Print Seek(#2);" = LOC+1" PrintLof(#2);" length of file" PrintFileattr(#2);" file mode"' should be 32 for binary Put#2 , Sn ' write a single Put#2 , Stxt ' write a string Flush#2 ' flush to disk Close#2 'now open the file again and write only the single Open "test.bin" For Binary As #2 L = 1 'specify the file position B =Seek(#2 , L)' reset is the same as using SEEK #2,L Get#2 , B ' get the byte Get#2 , W ' get the word Get#2 , L ' get the long Get#2 , Sn ' get the single Get#2 , Stxt ' get the string Close#2
Languages | English • Deutsch |
---|