Autor Tema: Nueva consulta sobre definicion de variables.  (Leído 2048 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Sir_Egnos

  • PIC12
  • **
  • Mensajes: 92
Nueva consulta sobre definicion de variables.
« en: 29 de Julio de 2009, 14:52:30 »
Bien, tengo una nueva duda y os la expongo para que como de constumbre me ayudeis.

Si creo una variable llamada mapa_lcd que es de un byte, yo se que con bit_set y bit_clear puedo acceder a un bit de esa variable para ponerlo a 0 o a 1. Pero como se haria para definir un nombre y que remita directamente a ese bit.

Yo hice una cosa asi :

#Define X1 mapa_lcd.1

creo la variable mapa_lcd como int.

Obviamente cuando hago un bit_set(X1); no da error pero no hace lo que yo quiero. Se que mi error esta en el concepto.
Alguien me podria decir como se haria correctamente esto que deseo hacer?


Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Nueva consulta sobre definicion de variables.
« Respuesta #1 en: 29 de Julio de 2009, 15:09:31 »
Viene en la ayuda de CCS C #BIT

Syntaxos:
 #bit  id = x.y
 
Elementos:

id es un identificador  valido en C       <---- Esto seria el nombre que tu asignes , supongo que al referirse valido no se renombre con alguno existente

x es una constante o variable del C    <--- Es tu Variable que en este caso lo llamas "mapa_lcd"

y es una constante de 0-7                  <--- El bit a trabajar

Viene este ejemplo

int result;                  // <-- La Variable o constante

#bit result_odd = result.0  // result_odd es el identificador(le llamaré label xD) y asignas igualdad al bit 0 de la variable/constante result

...

if (result_odd)              // y Pues aqui preguntan si el bit 0 de la variable/constante result es 1


Pero xD me quedo aqui porque no le entiendo bien y pues también me servirá.

Código: [Seleccionar]
Int mapa_lcd;

#BIT x1 = mapa_lcd.1   // refiriendome al bit 1


y aplicandolo sería

x1=1  // bit 1 del byte mapa_lcd es puesto a 1

¿esto es correcto?




« Última modificación: 29 de Julio de 2009, 15:22:26 por AKENAFAB »

Desconectado Sir_Egnos

  • PIC12
  • **
  • Mensajes: 92
Re: Nueva consulta sobre definicion de variables.
« Respuesta #2 en: 29 de Julio de 2009, 15:15:18 »
la idea si, lo voy a compilar a ver si funciona como quiero.

Gracias.


P.d. Mi ingles es malisimo y hay veces que no comprendo bien el manual de ccs. Gracias por vuestra paciencia.


Desconectado Sir_Egnos

  • PIC12
  • **
  • Mensajes: 92
Re: Nueva consulta sobre definicion de variables.
« Respuesta #3 en: 29 de Julio de 2009, 15:30:02 »
Si es lo que queria, pero no me compilaba por que hay que definir la variable y justo despues poner los #BIT   , sino me da que hay que decirle en la posicion de memoria en la que esta. Vuelvo a decir que mi eingles es malisimo pero es lo que entiendo del manual.

Gracias de nuevo.

El ejemplo que compilo bien :

int salidas_accel;
#BIT X1 = salidas_accel.0
#BIT X10= salidas_accel.1
#BIT x100=salidas_accel.2

Luego ya puedo utilizar el output_high,low,togle que es lo que queria. 

« Última modificación: 29 de Julio de 2009, 15:35:19 por Sir_Egnos »

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Nueva consulta sobre definicion de variables.
« Respuesta #4 en: 29 de Julio de 2009, 15:32:26 »
Citar
P.d. Mi ingles es malisimo y hay veces que no comprendo bien el manual de ccs. Gracias por vuestra paciencia.

descargate este pdf, es la misma ayuda de ccs pero en español

saludos
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado Sir_Egnos

  • PIC12
  • **
  • Mensajes: 92
Re: Nueva consulta sobre definicion de variables.
« Respuesta #5 en: 29 de Julio de 2009, 15:35:44 »
Gracias jhozate.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Nueva consulta sobre definicion de variables.
« Respuesta #6 en: 29 de Julio de 2009, 15:38:38 »

Probe el ejemplito y funciona

char leds;
#bit led1 = leds.1

Desconectado Sir_Egnos

  • PIC12
  • **
  • Mensajes: 92
Re: Nueva consulta sobre definicion de variables.
« Respuesta #7 en: 29 de Julio de 2009, 15:59:16 »
Si, si le dices led1 = 1; va ok, pero si le dices output_high(led1) no da error pero no lo activa.