INP/de
Aus MCS Wiki AVR
< INP
Inhaltsverzeichnis |
= (**COPIED FROM ENGLISH PAGE**) === Action
Returns a byte read from a hardware port or any internal or external memory location.
Syntax
var = INP(address)
Remarks
var |
Numeric variable that receives the value. |
address |
The address where to read the value from. (0- &HFFFF) For Xmega which supports huge memory, the address is in range from 0-&HFFFFFF. |
The PEEK() function will read only the lowest 32 memory locations (registers).
The INP() function can read from any memory location since the AVR has a linear memory model.
When you want to read from XRAM memory you must enable external memory access in the Compiler Chip Options.
See also
OUT , PEEK , POKE, SETREG, GETREG
Example
'----------------------------------------------------------------------------------------- 'name : peek.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : demonstrates PEEk, POKE, CPEEK, INP and OUT 'micro : Mega162 'suited for demo : yes 'commercial addon needed : no '----------------------------------------------------------------------------------------- $regfile = "m162def.dat" ' specify the used micro $crystal = 4000000 ' used crystal frequency $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space Dim I As Integer , B1 As Byte 'dump internal memory For I = 0 To 31 'only 32 registers in AVR B1 = Peek(i) 'get byte from internal memory Print Hex(b1) ; " "; 'Poke I , 1 'write a value into memory Next Print 'new line 'be careful when writing into internal memory !! 'now dump a part ofthe code-memory(program) For I = 0 To 255 B1 = Cpeek(i) 'get byte from internal memory Print Hex(b1) ; " "; Next 'note that you can not write into codememory!! Out &H8000 , 1 'write 1 into XRAM at address 8000 B1 = Inp(&H8000) 'return value from XRAM Print B1 End
Languages | English • Deutsch |
---|