Menú
Foros
Nuevos mensajes
Buscar en foros
Novedades
Nuevos mensajes
Nuevos recursos
Última actividad
Recursos
Últimas revisiones
Buscar recursos
Acceder
Registrarse
Novedades
Buscar
Buscar
Buscar sólo en títulos
De:
Nuevos mensajes
Buscar en foros
Menú
Acceder
Registrarse
Install the app
Instalar
Foros
Temas de Interés
Software de Simulación y Diseño Electrónico
[ERROR] envío de datos PIC - PC Serial [max 32 ] Hyperterminal
JavaScript está desactivado. Para una mejor experiencia, por favor, activa JavaScript en el navegador antes de continuar.
Estás usando un navegador obsoleto. No se pueden mostrar este u otros sitios web correctamente.
Se debe actualizar o usar un
navegador alternativo
.
Responder al tema
Mensaje
[QUOTE="ViCtorA, post: 965075, member: 253317"] Estoy de acuerdo con amistoso, el control de flujo con el modulo Bluetooth lo realiza el mismo (finalización de bit/byte enviado, etc) por eso te funciona. Mira estos ejemplos de rutinas para que lo veas; [code] void R_UART0_putc_RS(unsigned char dato) { unsigned char vl_uc_dato[2]; vl_uc_dato[0]=vl_uc_dato[1]=dato; g_Uart0TxEnd = R_UART0_Send(vl_uc_dato, 1); // pone dato a transmitir while(g_Uart0TxEnd == 0){} // Espera que acabe de transmitir } /******************************************************************************* * Function Name: R_UART0_puts_RS * Description : saca string rs232 hasta que encuentra valor 0 * Argument : uint8_t* vl_uc_cadena character string. * Return value : none *******************************************************************************/ void R_UART0_puts_RS(unsigned char *vl_uc_cadena) { volatile unsigned char vl_uc_nbyte, vl_uc_dato; unsigned int n_bytes; for(vl_uc_nbyte=0;vl_uc_nbyte<60;vl_uc_nbyte++) // maximo 60 caracteres { vl_uc_dato=vl_uc_cadena[vl_uc_nbyte]; if(vl_uc_dato==0 ) break; } n_bytes=(unsigned int)vl_uc_nbyte; g_Uart0TxEnd = R_UART0_Send(vl_uc_cadena, n_bytes); // pone datos a transmitir while(g_Uart0TxEnd == 0){} // Espera que acabe de transmitir } [/code] Convierte caracter en Hexadecimal 1 byte: [code]void R_UART0_print_hex_RS2(unsigned char vl_uc_dato){ // RS232 en hex unsigned char vl_uc_xx[3]; vl_uc_xx[0]=vl_uc_dato>>4; vl_uc_xx[1]=vl_uc_dato&0x0f; vl_uc_xx[0] = (vl_uc_xx[0] < 0x0A) ? (vl_uc_xx[0]+0x30):(vl_uc_xx[0]+0x37); vl_uc_xx[1] = (vl_uc_xx[1] < 0x0A) ? (vl_uc_xx[1]+0x30):(vl_uc_xx[1]+0x37); g_Uart0TxEnd=R_UART0_Send(vl_uc_xx,2); // pone datos a transmitir while(g_Uart0TxEnd==0); // Espera que acabe de transmitir }[/code] Aparte del hiperterminal, hay otros programas que te muestran la información recibida en ASCII, HRX, decimal y binario. uno de ellos es " Docklight " [/QUOTE]
Verificación
Responder
Foros
Temas de Interés
Software de Simulación y Diseño Electrónico
[ERROR] envío de datos PIC - PC Serial [max 32 ] Hyperterminal
Arriba