Jump to content
Sign in to follow this  
Zamudio

Sourceboost Spanish

Recommended Posts

Si alguien esta intreresado en presentar algunos proyectos desarrollados, así como tips y asben hablar el Castellano les invito a participar.

 

Muy pronto pondré algunos ejemplos de algunos codigos desarrollados

Share this post


Link to post
Share on other sites
Guest Joe

Ran this through Bablefish and here is the result:

 

If somebody this intreresado in presenting/displaying some developed projects, as well as tips and asben to speak the Castilian I invite to participate to them. In a moment I will put some examples of some developed codigos

Share this post


Link to post
Share on other sites

hola ya hace tiempo que escribieron este tema de Sourceboost Spanish... (Sourceboost en español).

 

y por lo visto se perdió el interés; Pues estaría bien, que no perdieran el interés y así puedan ayudarnos a los que no entendemos al 100% el uso de este software.

 

El hecho es que que necesito ayuda.

 

Necesito saber como usar o como declarar y usar los Arrays y Pointers , para utilizar el registro RCREG en un PIC que es de tipo FIFO...

espero no desistan ni se pierda el interes en esto del Sourceboost en español

 

Si puedo publico unos ejemplos sencillos, para empezar a experimentar con ellos ..

 

gracias Thank you

y and

suerte. Good luck ¡¡

 

sourceboost en español

Share this post


Link to post
Share on other sites

Continuando..

 

Usando el PIC16F84.

 

Estos es un primer programa para escribir datos al puerto B, escribiremos 0xAA por 2segundos, después cambiaremos a 0xFF por otros 2 segundos, después apagaremos le puerto b es decir mandaremos el 0x00.

 

 

//control puerto B pic16f84.

#include <system.h>
void main(){
  trisb=0x00; // configuramos puerto B como salida.
  while(1){
  delay_ms(15); // espera de 15ms
  portb=0xAA; // muestra AA en el puerto B
  delay_s(2);
  portb=0xFF;
  delay_s(2);
  portb=0x00;
  }
}

 

suerT

Edited by Elvic

Share this post


Link to post
Share on other sites

Hola a todos, Tambien me intereza mucho la programacion de micro en C.

 

Tengo algunos proyectos ya desarrollados y me gustaria compartirlos.

 

este proyecto contiene configura la comunicion serial para el manejo de buffer tanto de entrada como de salida, ambos con interrupciones, enla parte de recepcion se verifica la llegada de dos comandos par el manejo del puerto B.

 

este proyecto maneja los buffer de forma circular, al llenarse el buffer, este empieza allenarse por el otro extremo

 

 

#include <system.h>

 

//capacidades de los vectores

#define RXMAX 10

#define TXMAX 16

 

//vectores de almcenamiento de datos

unsigned char RXBuff[RXMAX]; //vector de recepcion

unsigned char RXIndex = 0; //indice de RX

unsigned char TXBuff[TXMAX]; //vector de tranmision

unsigned char TXIndexIN = 0; //contador de caracteres vector de salida TX

unsigned char TXIndexOUT = 0; //contador de caracteres enviados vector TX

 

 

void WriteByteSerial(unsigned char car)

{

TXBuff[TXIndexIN] = car; //adicionar caracter en el buffer

//verificar el tamaño del buffer

//este buffer es circular cuando se llena reinicia en el otro extremo

if ( ++TXIndexIN >= TXMAX )

{

TXIndexIN = 0;

}

pie1.TXIE = 1; //habilitar TX interrupt

}

 

void init_serial()

{

txsta = 00100110b;

spbrg = 12; //19200 4Mhz

rcsta = 0x90; //serial port enable, receive enable

trisc.7 = 1; //pin de entrada de recepcion

trisc.6 = 0; //pin de salida de transmision

pie1.RCIE = 1;

}

 

 

void interrupt()

{

//rutina de interrupcion de recepcion serial

if ( pie1.RCIE && pir1.RCIF )

{

//llenado de buffer de recepcion serial

RXBuff[RXIndex] = rcreg;

//este buffer es circular cuando se llena reinicia en el otro extremo

switch(RXBuff[RXIndex])

{

case '0':

portb = 0;

RXIndex = 0;

break;

case '1':

portb = 0Xff;

RXIndex = 0;

break;

}

if ( ++RXIndex >= RXMAX )

{

RXIndex = 0;

}

}

 

////rutina de interrupcion de recepcion serial

if ( pie1.TXIE && pir1.TXIF )

{

//transmitir el siguiente dato en el vector de salida

txreg = TXBuff[TXIndexOUT];

//verificacion del buffer circular

if ( ++TXIndexOUT >= TXMAX )

{

TXIndexOUT = 0;

}

if ( TXIndexOUT == TXIndexIN )

{

//se terminaron de enviar datos

pie1.TXIE = 0;

}

}

}

 

void main()

{

adcon0 = 00000000b; //apagar conversor A/D;

adcon1 = 6; //todas las entradas en modo digital

trisb = 0; //puerto b como salidas

portb = 0;

init_serial(); //inicializar el hardware de comunicacion serial

WriteByteSerial('A'); //cargar el caracter A en el buffer de salida

intcon.PEIE = 1; //habilitar interrupciones de perifericos

intcon.GIE = 1; //habilitar interrupciones generales

 

//cilo infinito

while(1)

{

//se espera por la llegada de comandos

}

}

Share this post


Link to post
Share on other sites

saludos

 

Pues así es alberse

 

vamos a viendo como se comporta este apartado en español;

 

si conoces mas enlaces sobre este programa sourceboost en español espero y los puedas poner , sino pues aquí continuamos escribiendo de mi parte programa sencillos :P

 

Pero el código que has puesto lo tomare de referencia, para lo que estoy realizando sobre la comunicación serial; aunque por lo pronto solo requiero recibir datos.

 

gracias

Share this post


Link to post
Share on other sites

hola

pues otra ves aquí

 

y es que necesita ayuda...

 

bueno el caso es que como comentaba estoy experimentando con el USART del pic 16f73, y el código que compile y grabe al pic si funciono, pero solo la primer ves que se ejecuta , es decir solo una ves realiza lo que yo necesito.

 

Pero la segunda ves que se repite le ciclo ya no funciona en lo absoluto el detalle es que

 

el valor de rcreg lo grabo en un arreglo, esta es la parte en que tengo problema el arreglo es de 12 posiciones

 

 

 

int arreglo[12];
ciclo{
arreglo[x]=rcreg;
x++
}

 

como puedo borra todo le arreglo[x] y que no tenga ningún valor o que este en su forma inicial,

ya intente cargando el 0 a cada posición, pero no lo borra se le carga el valor 0; bueno eso es lo que pienso

 

gracias

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...