Bluegiga BGScript blinkylight ejemplo

1

Estoy tratando de codificar BGScript pero tengo algunas preguntas. ¿Puedes ayudarme?

Tengo DKBLE112, que es un kit de desarrollo del módulo BLE112 creado alrededor del CC254x, un derivado 8051 con un transceptor BLE en el chip. Y mis preguntas son las siguientes.

Podría parpadear un LED usando un código de ejemplo a continuación. Pero algunas líneas no están claras para mí.

El primero está abajo.

# setup port 2 pin 1 for the switch output
call hardware_io_port_config_direction(2,$2)

El comentario dice el pin 1. ¿Por qué $ 2 es el pin 1? ¿Y cómo puedo cambiar para usar P2_2?

La segunda pregunta es la siguiente.

call hardware_io_port_write(2,$2,$2)

¿Por qué los datos de configuración son $ 2? (Cambié $ 1 pero no parpadeé)

Gracias,

dim led

event system_boot(major,minor,patch,build,ll_version,protocol,hw)   
    call hardware_spi_transfer(0,16,"  Blinky Light  ")

    # setup port 2 pin 1 for the switch output
    call hardware_io_port_config_direction(2,$2)

    # turn port pin off
    call hardware_io_port_write(2,$2,$0)

    led = 0

    call hardware_set_soft_timer(32768,0,0)
end

event connection_disconnected(handle,result)
    call gap_set_mode(gap_general_discoverable,gap_undirected_connectable)
end

event hardware_soft_timer(handle)

    if led > 0
        call hardware_io_port_write(2,$2,$0)
        led = 0
    else
        call hardware_io_port_write(2,$2,$2)
        led = 1
    end if
end
    
pregunta zono

1 respuesta

1

Tengo bastante experiencia con BGScript y tengo algunos scripts de ejemplo (semi) documentados aquí: enlace

Como una declaración general, usar $ 1 o $ 2 en esas API es obtener el PIN específico en un PORT. Entonces, esencialmente estás haciendo una máscara de bits.

$ 1 es el pin 0, $ 2 es el pin 1, $ 4 es el pin 2, etc ...

Si desea acceder a varios pines a la vez, usaría el valor apropiado. P.ej. 3 en hexadecimal es 0x03 (o $ 3 en BGScript), que también es 0b00000011, que establece el pin 0 y el pin 1.

En el mundo integrado, deberás hacer mucho más de esto: enlace

Si examina la documentación del dispositivo que está utilizando, especificarán cuáles son las funciones de cada pin en cada puerto.

    
respondido por el SJoshi

Lea otras preguntas en las etiquetas