BasicX, Funciones de memoria

SCM Hacker . Sección Proyectos
Número: 62

El Magazine electrónico de SCM

International

 

BX24

Todo para desarrollar por $UD 95 !!!
Un chip BX24 + Tarjeta de desarrollo + Software + Manual de set de instrucciones en castellano
Reloj de tiempo real, I/O, netware, sistema operativo con multiprocesamiento, set de instrucciones reducido del Visual Basic y mucho mas! para disenar sus sistemas microcontrolados de alta calidad!

Aplicación de funciones de manejo de memoria de alto nivel de las microcomputadoras BasicX

SCM home
SCM International , le provee puerta a puerta a todo el mundo!
Consultas
Cursos
PLCs
Sensores
Micros
Robótica
Alambres Musculares

¿Requiere de desarrollos a medida? o la integración de un sistema?

On-line Book Store

Compre los mejores libros. Ahorre! Pague menos y con costos de envío reducidos!

Electrónica - Mecánica - Micros - Robótica

 Las BasicX son microcomputadoras programables con un lenguaje interno tan potente como el Visual Basic de microsoft, podría concluirse que posee un set de instrucciones reducido de este lenguaje. Además poseen la virtud de poder crear procesos paralelos, permitiendo implementar sistemas sofisticadas de control, robótica e insdustria aerospacial.

Le recomendamos leer tambien la nota anterior.

El lenguaje BasicX posee las siguientes de alto nivel para manejo de memoria:

BlockMove                 Copia un bloque datos de una posición de RAM a otra

FlipBits                     Genera una imagen espejo de una imagen

GetBit                       Lee un bit de una variable

GetEEPROM             Lee datos de EEPROM

MemAddress             Devuelve la Dirección de una variable o array

MemAddressU           Devuelve la Dirección de una variable o array

PersistentPeek          Lee datos de EEPROM

PersistentPoke          Escribe un byte a EEPROM

PutBit                       Escribe un bit de una variabe

PutEEPROM             Escribe datos a EEPROM

RAMpeek                  Lee un byte de RAM

RAMpoke                  Escribe un byte a RAM

SerialNumber             Devuelve la versión del BasicX chip

En esta edicion describiremos algunas de ellas.

BlockMove procedimiento

 

Sintaxis

Call BlockMove(NumberOfBytes, SourceAddress, DestinationAddress)

Argumentos

Item

Tipo

Dirección

Descripción

NumberOfBytes

UnsignedInteger

Input

Número de bytes a copiar. El rango es 1 a 65 535.

SourceAddress

UnsignedInteger

Input

Dirección de source.

DestinationAddress

UnsignedInteger

Input

Dirección de destination.

 Descripción

Copia un block de memoria desde source a la RAM de destino. BlockMove puede cambiar un bloque de memoria extenso en solo una operación.

Mientras se ejecuta la tarea BlockMove, no puede ejecutarse otra, y el reloj de tiempo real no producirá un tick.

Warning

Si la operación BlockMove toma mucho tiempo, el reloj de tiempo real puede perder tiempo. Normalmente esto no genera problemas salvo que mueva datos en el orden de los megabytes.

Ejemplo

Sub Main()

    Dim UI As New UnsignedInteger
    Dim B(1 a 2) As Byte

    UI = &h9ABC&

    ' Copia un entero sin signo de 16-bit

 ' a una variable de dos byte array.
    Call BlockMove( 2, MemAddress(UI), MemAddress(B) )

    ' hasta aqui, B(1) es BCh y B(2) es 9Ah (note
    ' que B(2) es el byte mas significativo).

End Sub

 

FlipBits funcion

 

Sintaxis

F = FlipBits(Operand)

 

Argumentos

Item

Tipo

Dirección

Descripción

Operand

Byte

Input

Operando

F

Byte

Output

Retorno de funcion

 Descripción

Hace un espejado de los bits de un byte. Lsbit (bit mas bajo) pasara a ser Msbit (bit mas alto) y vice versa.

Ejemplo


Dim A As Byte, B As Byte

A = bx11110100

B = FlipBits(A) ' Ahora B es bx00101111.

 

GetBit funcion  

 

Sintaxis

F = GetBit(Operand, BitNumber)

 

Argumentos

Item

Tipo

Dirección

Descripción

Operand

Cualquier  variable or array

Input

Operando

BitNumber

Byte

Input

Bit number (la numeracion inicia en 0). Rango de  0 a 255.

F

Byte

Output

Retorno de funcion

 Descripción

Devuelve el valor de un bit determinado bit. . Si el operando es un array, Entonces puede ser utilizada para leer el primero de los 256 bits del  array.

Ejemplo


' Ejemplo para un byte.

    Dim A As Byte, B As Byte, C As Byte

    A = bx00100000

    B = GetBit(A, 5) ' B es 1.

    C = GetBit(A, 6) ' C es 0.

' Ejemplo para un array de tipo 32-bit Long.

    Dim L(1 a 2) As Long

    L(1) = 0
    L(2) = 1
    B = GetBit(L, 31) ' B es 0.
   
C = GetBit(L, 32) ' C es 1 (1er bit en el segundo elemento del array).

 

En esta serie de notas describiremos las funciones restantes  funciones para que Ud. pueda evaluar una parte de la gran potencia de estas microcomputadoras.

 

Copyright © 2006 SCM International. All rights reserved.

Por favor, lea cuidadosamente los términos y condiciones descriptas para el uso de notas de aplicación, materiales, e información de este sitio.

Home page de SCM International

SCM Hacker Magazine home page

 

El Saber Electronica y computacion Hoy es leer este Magazine.