![]() |
Cuantos ComPortRxChar?
Hola amigos.
Tengo una preguntica:
Se pueden hacer mas de un procedure como este en un mismo programa? Un Saludo. |
Cita:
Salud OS |
Hola egostar.
La cosa es que ya tengo ese procedure en mi programita y trabaja bien.Cuando recibo una cadena de bytes y la comparo.Pero la estoy tratando de usar en otro boton, que hace otra cosa y se me complico el asunto. Me explico. Yo tengo un boton donde mando al serial port unos bytes(4) para ser mas claro y tengo que esperar un byte de retorno,compararlo y si es = al que espero , entonces mandar otros dos bytes y esperar otro bytes de regreso.El problema es que ese byte es un 01 y se repite tres veces en ese procedure del boton. A todo lo largo de mi programita estare empleando ComPort.ReadStr(Str, Count); puedo llenar de "else" el procedure pero el problema es que cuando tengo tres como en este caso.No en todos los 01 que espero tomare la misma decision, depende de cuando y porque me lo estan mandando. Un Saludo. |
Hola
Lo mas seguro es que me equivoque pero pienso en voz alta. Por que no crear un procedimiento aislado al que se le llame desde este procedimiento y que contenga una variable que guarde ese valor. No conozco el ComPortRxChar, supongo que vendra de los chart o de algun componente determinado, pero si es necesario que envie el resultado con un dato string y otro integer, cual seria el problema de hacerlo con otro procedimiento o funcion?, asi no se necesitaría duplicar el procedimiento. Bueno, solo opino, ya sabéis, así aprendo.:) Saludos |
No puedes usar mas de un OnRxChar puesto que solo tienes un punto de entrada al puerto serie. On RxChar revisa caracter a caracter lo que entra al puerto. Si necesitas que tu programa reaccione a un caracter o caracteres especiales deberas de programar una rutina para tratar cada uno de ellos.
Ahora bien si necesitas capturar alguna conjunto de caracteres o "paquetes" bien definidos entonces es mejor usar el ComDataPacket el cual te permitira colocar tantos como necesites para un solo puerto.
Si necesitas recibir el caracter 01 varias veces y bajo diversas circunstancias tal vez la mejor manera de tratarlo seria usando OnRxChar y llamar a un procedimiento que procese acorde a la circunstancia en que lo esperas. Esto es una sugerencia tal vez hay mejor manera; crear un Type por ejemplo llamado Modo y que tenga declarados los diversos modos que tu necesitas por ejemplo:
|
Mas claro ni el agua, :)
Salud OS |
Todo funciona bien hasta donde lo tengo comentado. Me da un error si el 01 no lo pongo asi '01' Un Saludo. |
Cita:
Sera porque Str es un char y no un entero? Trata con esto:
o así si es un String:
Salud OS |
Hola egostar.
Este es el codigo en realidad.
Creo que aqui esta el problema.Yo tengo esa rutina que al comenzar recibe algo que me envia el chip y si es = continua el programa.Creo que aqui esta la cosa. Dejame estudiar eso ultimo que mandastes. Un Saludo. |
Tengo medio resuelto el problema.
Cambie mi codigo y ya puedo comparar el primer #1el problema es que tendre en esta rutina tres veces el retornodel uC con el byte (01) y es donde tendre que hacer uso de larutina que escribio FGarcia.Pero tengo una duda, como le digo alReadStr que Modo quiero que compare? Yo tengo un boton y manda al serial port (#4#1#0#1)recibo un #1 compara si es = entonces mando al serial port (#2#2)hasta aqui trabaja bien mi programita.El relajo entra cuando recibo [/color]el segundo #1 y no diferencia del primero mandandome otra vez los(#2#2) sindo que yo no quiero mandar eso despues de recibir el primer #1. No se si me explico? Un Saludo. |
Esto es lo que tengo hecho.
Todo esta bien hasta que tengo que comparar otra vez el #1. Un Saludo. |
A ver si entendi lo que necesitas
Salud OS |
Hola egostar.
Bueno asi esta la cosa, despues de algunos errores al final copilo.
Asi esta copilando sin errores y haciendo el trabajo que esperaba, esta es la rutina para borrar la memoria de un AT89S51 y esta trabajando de maravillas. Ya borre un chip que estaba programado y chequeado en otro programador que esta borrado.:D:D:D Un paso mas en el proyecto. 100 puntos para el maestro egostar. |
Cita:
Salud OS |
Aqui la prueba del delito:
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 :10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 :10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 :10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 :10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 :10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 :10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 :10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 :10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 :10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 :1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 :1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 :1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 :1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 :1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 :1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 :10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF :10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF :10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF :10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF :10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF :10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF :10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F :10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F :10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F :10019000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F :1001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F :1001B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F :1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F :1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F :1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F :1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F :10020000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE :10021000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE :10022000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE :10023000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE :10024000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE :10025000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE :10026000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E :10027000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E :10028000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E :10029000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E :1002A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E :1002B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E :1002C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E :1002D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E :1002E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E :1002F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E :10030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD :10031000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED :10032000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD :10033000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD :10034000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD :10035000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD :10036000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D :10037000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D :10038000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D :10039000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D :1003A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D :1003B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D :1003C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D :1003D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D :1003E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D :1003F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D :10040000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC :10041000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC :10042000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC :10043000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC :10044000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC :10045000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC :10046000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C :10047000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C :10048000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C :10049000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C :1004A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C :1004B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C :1004C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C :1004D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C :1004E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C :1004F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C :10050000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB :10051000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB :10052000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB :10053000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB :10054000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB :10055000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB :10056000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B :10057000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B :10058000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B :10059000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B :1005A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B :1005B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B :1005C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B :1005D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B :1005E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B :1005F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B :10060000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA :10061000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA :10062000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA :10063000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA :10064000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA :10065000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA :10066000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A :10067000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A :10068000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A :10069000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A :1006A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A :1006B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A :1006C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A :1006D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A :1006E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A :1006F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A :10070000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 :10071000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 :10072000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 :10073000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 :10074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 :10075000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 :10076000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 :10077000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 :10078000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 :10079000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 :1007A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 :1007B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 :1007C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 :1007D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 :1007E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 :1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 :10080000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 :10081000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 :10082000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 :10083000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 :10084000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 :10085000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 :10086000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 :10087000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 :10088000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 :10089000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 :1008A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 :1008B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 :1008C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 :1008D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 :1008E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 :1008F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 :10090000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 :10091000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 :10092000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 :10093000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 :10094000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 :10095000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 :10096000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 :10097000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 :10098000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 :10099000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 :1009A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 :1009B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 :1009C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 :1009D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 :1009E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 :1009F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 :100A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 :100A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 :100A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 :100A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 :100A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 :100A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 :100A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 :100A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 :100A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 :100A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 :100AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 :100AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 :100AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 :100AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 :100AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 :100AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 :100B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 :100B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 :100B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 :100B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 :100B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 :100B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 :100B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 :100B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 :100B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 :100B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 :100BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 :100BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 :100BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 :100BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 :100BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 :100BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 :100C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 :100C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 :100C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 :100C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 :100C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 :100C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 :100C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 :100C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 :100C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 :100C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 :100CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 :100CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 :100CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 :100CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 :100CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 :100CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 :100D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 :100D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 :100D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 :100D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 :100D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 :100D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 :100D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 :100D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 :100D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 :100D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 :100DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 :100DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 :100DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 :100DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 :100DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 :100DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 :100E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 :100E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 :100E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 :100E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 :100E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 :100E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 :100E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 :100E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 :100E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 :100E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 :100EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 :100EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 :100EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 :100ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 :100EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 :100EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 :100F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 :100F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 :100F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 :100F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 :100F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 :100F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 :100F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 :100F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 :100F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 :100F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 :100FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 :100FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 :100FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 :100FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 :100FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 :100FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 :00000001FF Exito total!! |
Cita:
¡Solo falta que diga que tambien es novato! Habra que recordarle que Novato es marca registrada de Caral Enterprises Inc. y que le pueden reclamar regalias por derechos de uso.:D:D:D |
Cita:
jajajajajajaja Un Saludo. |
Cita:
Salud OS |
A ver, Egostar me corrige si me equivoco, hice algunos añadidos al ultimo codigo que mado PepePancho:
|
Hola FGarcia.
Ayer no pude trabajar en el proyecto.Pero si le di una miradita al codigo. Para poder rodar este codigo tengo que incorporar al programa otras rutinas que tengo por separadas y ya es hora de que se reunan :D:D:D asi que tengo buen taller para el dia de hoy. Un Saludo. |
Bueno asi esta la cosa.
Esto copila bien y trabaja bien. Ahora la cosa esta que despues que mando el comando (06 04 00 00 10 00) entonces esperando un tiempo corto tengo que mandar el primer byte del buffer y esperare por cada uno de estos bytes un 53 y asi hasta el final del buffer. Un Saludo. |
Continuando con el comentario anterior.
Un Saludo. |
Se ve lindo y bien ATcmd, alguna fotito del hard? :D
|
Cita:
Lo que usara este programador es un max 232, un AT89C2051 para el soporte entre el PC y el Chip a programar.Unas cuantas resistencias y un poco de capacitores.Cuando termine el proyecto pondre algunas fotos del mismo. Los comandos de programacion originales del AT89S51 y 52 radican en los 2kbytes de memoria del AT89C2051, esta aclaracion por si alguien sigue este proyecto que no se sienta frustrado si mirando el data de estos chips se siente perdido o pensara que estoy loco.:p Delego la mayoria de las operaciones al 2051 por la sencilla razon que domino el uC y no el Delphi. Un Saludo. |
Hola amigos.
Estoy tratando de agregar este procedimiento pero me da error.
me da el siguiente error; ( Incompatible Types:'String' and 'Byte' Un Saludo. |
Cita:
Un Saludo. |
Algo para los maestros.
Aqui me da el siguiente error; ( Incompatible Types:'String' and 'Byte' Ya mire la ayuda de Delphi y nada.No le encuentro la causa a este error. Un Saludo. |
Cita:
si quieres usar un indice dentro de una cadena, tal vez puedes usar esto:
Salud OS |
Hola egostar.
La cosa esta asi:Tengo esta funcion que estaria mandando los bytes que se encuentran en el buffer al serial port.Tengo que mandar el primer byte y estaria reciviendo un byte por cada uno que mando (53) esto hasta que se termine el contenido del buffer.Y esta rutina se encargaria de eso, pero no me copila.
Un Saludo. |
Ampliando el procedimiento.
El programita trabaja bien hasta este punto.(eso dice el espia) y yo le tengo confianza. Ahora despues de esos bytes "comandos" mi chip esperara el primer byte que esta en el buffer, tambien esta en el "memo" .Y por cada byte de data que el chip reciba me estara mandando un "53". Esto es para darle tiempo al chip que ese primer byte lo pueda mandar al uC que estoy programando y cuando el termine y este listo para el siguiente entonces asi se lo hace saber al PC (mandandole un 53 )Ahora bien no necesariamente tengo que estar mirando el final del buffer, yo se cuantos bytes de data estan dentro de el y son 4096 bytes de data y la misma cantidad de " 53 " estaria recibiendo de confirmacion. Se puede crear una rutina que los cuente y al ser = 4096 termine el procedimiento. jajajajajaja yo razono como si Delphi fuera un uC y estoy creando rutinas.:D Alguien sabe donde venden Delphi en pildoras???:D:D:D Un Saludo. |
Bueno, y porque no usar el Memo para enviar los caracteres, agrega otra variable de tipo Integer de nombre Contador
A ver como funciona :) Salud OS |
Una preguntita.
Esta copilando bien y rueda sin problemas hasta donde manda los 6 bytes de comando.El primer byte del memo no sale al serial port. contador:=1; Esta esperando el primer 53? El primer 53 entrara despues que el primer byte de data entro al chip. Un Saludo. |
Cita:
Salud OS |
Cita:
El primer 53 es para mandar el segundo en adelante hasta el final de los 4096 bytes. Un Saludo. |
A ver que tal así.... Salud OS |
Ya esta mandando el primer byte y recibe el primer 53.
Eso quiere decir que si el chip regresa el primer 53 es que esta entendiendo bien la cosa.:) Ahora hay dos problemas, uno es que el primer byte es un "01" y esta mandando "20" .cambie el file hex y el primer byte es un "00" y sigue mandando un "20".El segundo problema es que cuando regresa el primer 53 ya no manda mas nada.Se detiene.La rutina contador no manda mas nada. Un Saludo. PD: el 20 es espacio en asscii?? jejejejeje creo que aqui hay gato encerrado. |
Cita:
Salud OS |
En el memo lo que hay es hex 00 01 FE 12 0A puro hex .
Este es el programita.
Algo le pasa a la rutina que se detiene y no continua mandando nada mas.( lo del 20 es otra cosa, el programa no debe detenerce por eso y cuando llega el primer 53 debe mandar otro byte. A no ser que el memo no lo leemos como debe ser.:confused: Si te fijas en ese programita yo llamo un fila, intelhex lo limpiamos y se queda puro hex nada mas. Un Saludo. |
Cita:
por ejemplo en esa linea 00 01 FE 12 0A Estamos mandando 0 0 0 1 F E 1 2 0 A y deberiamos enviar $00 $01 $FE $12 $0A Voy a ver como le hacemos. Salud OS |
Esto es lo que esta en el memo:
00 12 00 72 12 00 7E B4 80 04 80 34 80 F6 75 A0 FE 12 00 AF 75 A0 FD 12 00 AF 75 A0 FB 12 00 AF 75 A0 F7 12 00 AF 75 A0 EF 12 00 AF 75 A0 DF 12 00 AF 75 A0 BF 12 00 AF 75 A0 7F 12 00 AF 80 C4 75 A0 7F 12 00 AF 75 A0 BF 12 00 AF 75 A0 DF 12 00 AF 75 A0 EF 12 00 AF 75 A0 F7 12 00 AF 75 A0 FB 12 00 AF 75 A0 FD 12 00 AF 75 A0 FE 12 00 AF 80 92 75 98 52 75 89 20 75 8D F3 D2 8E 22 30 98 FD C2 98 E5 99 22 C2 B5 89 A0 D2 B4 12 00 AF C2 B4 22 D2 B5 89 A0 D2 B4 12 00 AF C2 B4 22 79 01 11 86 79 38 11 86 79 0C 11 86 79 06 11 86 22 7F 00 7E 00 7D 00 0D BD 50 FC 0E BE 50 F6 0F BF 50 y sigue con 00 hasta completar 4096 bytes. |
| La franja horaria es GMT +2. Ahora son las 18:38:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi