Realicé un proyecto controlado por el puerto RS232, pero tengo unos problemas y unas dudas:
1) Es necesario utilizar un oscilador externo? use el interno y no tuve problemas, pero leí que si los trae.
Al trabajar con 4MHz y el oscilador interno, pueden enviarse datos erróneos, sobre todo cuando se envían cadenas, en tu programa como sólo envías letras (1 Byte), no existe mucho problema.
Sin embargo, sí es recomendable usar un oscilador a cristal y una frecuencia superior a los 4MHz para trabajar con 9600Bps.
2) Mi proyecto falla en algún punto, es un interruptor vía pc, el cual activa salidas del micro mediante un programa en Visual Basic.
El proyecto consta de 9 salidas, 6 de estas funcionan de maravilla, las ultimas 3 tienen problemas.
Son las salida aux4, 5 y 6.
Si activo una de éstas, luego al querer activar otra de éstas, se apaga la primera y ni siquiera se activa la 2da que toque, sólo se apaga la primera.
No encuentro errores en la programación ni de VB ni de MICROCODE STUDIO.
Ajunto todo lo referente al proyecto, Saludos y muchas gracias.
Errores de programación no tienes, pero al programa en PICBasic le hacen falta algunas mejoras.
El uso de TRIS para definir entradas y salidas es importante para tener un mejor control.
Si bien en PBP se puede hacer uso de INPUT y OUTPUT para definir entradas o salidas, es conveniente inicializar los puertos al comienzo del programa.
También es importante inicializar el bus RS-232 para que el primer dato válido enviado salga correcto.
En el programa en VB6 estás usando una forma no recomendada para realizar el ingreso de datos vía serial.
No es recomendable hacer uso de un Timer para estar verificando cuando llegan datos.
Para eso existe el evento OnComm() del control MSCOMM y se usa conjuntamente con el evento comEvReceive
De esta forma la recepción de datos no está regida por un temporizador y los datos son captados en el momento que llegan.
Notas:
El LED que está en RA4 tiene invertida la polaridad en el esquema que muestras.
Cambié de puerto al COM3 para realizar las pruebas y debes cambiarlo por el que uses.
Adjunto ambos programas con las correcciones mencionadas.
No lo he probado físicamente, realicé una simulación.
Verifica su funcionamiento en físico y observa las modificaciones realizadas en ambos programas.
Suerte.