Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

27/12/2011 #1


Programar pic18f4550 con ccs
Buenos dias,
es la primera vez que utilizo este programa y lenguaje para programar un pic.

Tengo graves problemas por hacer cosa tan sencilla como comprobar que me funciona el puerto serie.

Solo quiero hacer una cosa tan sencilla como enviarle un dato desde el Hyperterminal y que me lo devuelva cambiado para comprobar que lo manipulo (por ejemplo sumarle uno nada mas.)

Si me pudieran facilitar un manual para poder usar el ccs con su lenguaje me seria de mucha utilidad, y ya que estamos, solo pido un pequeñisimo codigo para hacer lo que pido.

solo quiero usar el puerto serie lo que yo intento es algo como:

TRISC6=0;
TRISC7=1;

void main()
{
while(1)
{
if(RCIF==1)
TXREG=RCREG;
}
}

Pero estas ordenes ninguna excepto el while que va con TRUE me las acepta.

Muchas gracais
27/12/2011 #2


siempre he programado en lenguaje ensamblador este pic, pero como ud me gustaría conocer mas sobre su programación en c ya que es un pic optimo para ello.
28/12/2011 #3


Creo que debe "decirle" al pic que va a usar el rs232


PIC 16f877a
Código:
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
03/01/2012 #4


Esto ya lo hice, ahora mismo el programa que tengo es:


Código:
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=20000000)
#define LOADER_END 0x7FF
#define LOADER_SIZE 0x6FF
#build(reset=LOADER_END+1, interrupt=LOADER_END+9)
#org 0, LOADER_END {} // nothing will replace the bootloader memory space
// END OF bootloader definition
#USE RS232(BAUD=9600, XMIT=PIN_C6, RCV=PIN_C7, PARITY=N ,BITS=8)//Mediante HW



char intermitent=1; 
char i;

void main()
{

while(TRUE) 
{
i=getc();
intermitent=i+1;
putc(intermitent);
}
}
No entiendo que no esta bien porque no me funciona, desde el hyperterminal, no recibo ningun dato, solo me marca lo que sale del teclado.

Gracias

Pd: Esto del #ORG es porque tengo un bootloader en el PIC i de esta manera no sobreescribo en sus registros.
04/01/2012 #5


Creo que el problema esta en la configuracion del oscilador del micro, aunque uses un cristal de 20Mhz, gracias al pll, el micro no corre a esa velocidad, y esto es crucial para la comunicacion.
04/01/2012 #6


Hola kesk69

Probablemente lo que solicitas en tu mensaje original viene en el HELP del programa.
-Si me pudieran facilitar un manual para poder usar el ccs con su lenguaje me seria de mucha utilidad, y ya que estamos, solo pido un pequeñísimo código para hacer lo que pido.-

Baja de:
www.megaupload.com/?d=7E7DDKBR
El: Compilador C CCS y Simulador PROTEUS Para PIC's.pdf 25.1 MB
Es muy probable que te sirva.

Te recomiendo estudiar lo de las Paginas/Hojas siguientes:
Hoja 23, Página 30.
Hoja 40, Pagina 47.
Hoja 55, Pagina 61.

Digo Hoja/Pagina porque hoja es el número que viene impreso en la imagen de la página.

saludos
a sus ordenes
01/02/2012 #7


Gracias a todos, como bien dices az123 uno de los problemas era que aunque use un oscilador de 20MHz el cloc del PIC es a 48.

y el problema mas gordo que tenia es que mi modulo bluetooth se comunica a 9600 con el PC pero con el PIC se comunican a 115200 bauds a lo que tenia que cambiar el #use rs232.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.