unsigned rx1;
void main() {
Uart2_Init(9600); //Declara el baud rate para la comunicación
Uart2_Write_Char('s'); //Envía un caracter para indicar que el micro está listo para empezar a recibir datos.
while(1)
{
if (Uart2_Data_Ready()) { //Condicional en el cual si el puerto UART recibe algún dato el micro se prepara para leerlo
rx1 = Uart2_Read_Char(); //Lee el dato
Uart2_Write_Char(rx1); //Se envía de vuelta el mismo dato recibido
}
}
}
Mostrando entradas con la etiqueta Serial. Mostrar todas las entradas
Mostrando entradas con la etiqueta Serial. Mostrar todas las entradas
domingo, 29 de agosto de 2010
Serial Pruebas.
Comunicacion con la PC:
void printHandler(char c)
{
uart2_Write_char(c);
}
void main() {
Uart2_Init(9600);
Uart2_Write_Char('s');
while(1)
{
printout(printHandler,"Z");
Delay_ms(1000);
}
}
void printHandler(char c)
{
uart2_Write_char(c);
}
void main() {
Uart2_Init(9600);
Uart2_Write_Char('s');
while(1)
{
printout(printHandler,"Z");
Delay_ms(1000);
}
}
Comunicacion Serial - Envio de un String
unsigned rx1;
void printHandler(char c) //Esta función ayuda a enviar un string
{ //Caracter por caracter
Uart2_Write_char(c);
}
void main() {
TRISD=0; //Inicializamos el puerto D como info aux.
Uart2_Init(115200);
while(1){
//A continuación se envían los strings para la tarjeta SSC-32
PORTDbits.RD1=1;
printout(printHandler, "#0P1750#1P1280#2P2000#3P1100T2000\r");
delay_ms(3000);
PORTDbits.RD1=0;
printout(printHandler, "#0P1550#1P1500#2P1520#3P1500T2000\r");
delay_ms(3000);
PORTDbits.RD1=1;
printout(printHandler, "#0P1200#1P1840#2P1300#3P2000T2000\r");
delay_ms(3000);
PORTDbits.RD1=0;
printout(printHandler, "#0P1550#1P1500#2P1520#3P1500T2000\r");
delay_ms(3000);
}
}
void printHandler(char c) //Esta función ayuda a enviar un string
{ //Caracter por caracter
Uart2_Write_char(c);
}
void main() {
TRISD=0; //Inicializamos el puerto D como info aux.
Uart2_Init(115200);
while(1){
//A continuación se envían los strings para la tarjeta SSC-32
PORTDbits.RD1=1;
printout(printHandler, "#0P1750#1P1280#2P2000#3P1100T2000\r");
delay_ms(3000);
PORTDbits.RD1=0;
printout(printHandler, "#0P1550#1P1500#2P1520#3P1500T2000\r");
delay_ms(3000);
PORTDbits.RD1=1;
printout(printHandler, "#0P1200#1P1840#2P1300#3P2000T2000\r");
delay_ms(3000);
PORTDbits.RD1=0;
printout(printHandler, "#0P1550#1P1500#2P1520#3P1500T2000\r");
delay_ms(3000);
}
}
Comunicacion Serial - Envio de un Caracter
unsigned rx1;
void main() {
TRISB=0;
Uart2_Init(115200);
while(1){
PORTBbits.RB0=1;
delay_ms(100);
Uart2_Write_Char('s');
PORTBbits.RB0=0;
delay_ms(100);
}
}
void main() {
TRISB=0;
Uart2_Init(115200);
while(1){
PORTBbits.RB0=1;
delay_ms(100);
Uart2_Write_Char('s');
PORTBbits.RB0=0;
delay_ms(100);
}
}
lunes, 24 de agosto de 2009
Serial - dsPIC

Aqui de nuevo.
La comunicación serial del dsPIC con el controlador de servos está lista, ya se tienen los movimientos básicos de los servomotores calibrados y tambien movimientos básicos del brazo, en los próximos días me concentraré en los detalles mecánicos y en la programación de un programa base en la cual utilice en conjunto el brazo los servos y el sensor sharp. Sobre el sensor a color los chavos de Robodacta ya tienen nuevos en su stock así que les compraré uno, se ven muy buenos, a ver que tal salen. Por otra parte mañana haré el pago a Victor Hugo por las cosas que me ha vendido (¡¡Gracias por el apoyo!!) y espero en el transcurso de la semana poder tener a la mano los puentes H para completar el hardwate básico del robot y así poder hacer pruebas de movimiento mas completas. Falta verificar que el funcionamiento del electroimán de 12VDC sea lo suficientemente fuerte como para sostener un bloque y revisar el funcionamiento de los sensores infrarrojos y como será su montaje.
Los mantendré al tanto.
Saludos cordiales. (Gracias por el apoyo a todos, se ve que de algo ha servido el blog ademas de documentar el proyecto ;-) ).
Atte: Su compañero y amigo Panczenko
Etiquetas:
dsPIC30f4011,
Serial
Suscribirse a:
Entradas (Atom)