|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - © Jonathan ©
51
« en: Viernes 7 de Enero de 2005, 06:31 »
Hola a todos, este post es para contarles de una experiencia algo traumatica. Seguro conoceran la famosa directiva DT, la cual es muy utilizada para crear tablas en una sola linea. Esta directiva trae un grave inconveniente, un error que no es visto por Mplab. El error solo aparece si acostumbras a colocar las tablas al inicio del programa, despues del org 5 y antes de cualquier otro banco... mi experiencia fue en un codigo en el cual coloco 3 tablas entre org 5 y org 100 en formato utilizando el DT para ahorrar lineas, las tablas constan de 84 bytes cada una, por lo que entre el org 5 y org 100 solo entrarian 2 y media, para mi sorpresa, usando el DT, puedo colocar las 3 sin problemas y sin aviso de escritura en espacio ya utilizado. Al intentar colocar esas mismas tablas pero reemplazando la directiva DT por el acostumbrado RETLW, Mplab me arroja el siguiente error: Error[118] D:\LCD\PROGRAMA\ICONO.ASM 319 : Overwriting previous address contents (0100) Error[118] D:\LCD\PROGRAMA\ICONO.ASM 319 : Overwriting previous address contents (0100)
Como es posible que Mplab no vea el error usando la directiva DT???... esta directiva no fue hecha para reemplazar el inmenso trabajo al crear tablas en varias lineas??, me costo bastante encontrar la falla, ya que mirando el archivo .lst todo parecia normal. Espero les sea util la experiencia, si tienes alguna interesante para contarnos, bienvenida sea. Gracias por leerme y hasta pronto!
52
« en: Jueves 6 de Enero de 2005, 21:29 »
Bienvenidos al foro de Microcontroladore Atmel. Para los que esten interesados en iniciarse en el mundo Atmel, dejo un minicurso de iniciacion, no es un super manual, es informacion recolectada de internet la cual estoy ordenando para facilitarme el aprender en el mundo de estos microcontroladores. El manual esta en documento de word y no es muy completo, si encuentras informacion para añadirle, modificalo y subelo al foro, te estare inmensamente agradecido. No es mucha la informacion que se encuentra en español, por eso pido a todos los que puedan aportar, que no duden en corregirme, y desde el corazon me den una mano en mi iniciacion con esta serie de Microcontroladores. Lo que vaya aprendiendo sera colgado en este foro, si encuentras algo interesante, no dudes en colgarlo tambien. Me despido Atte. y espero participen. Saludos!
53
« en: Miércoles 29 de Diciembre de 2004, 00:46 »
Hola a todos, les dejo a disposicion un curso que encontre navegando, esto del C para micros esta interesante.. para algunas cositas es muy util. Saludos!
54
« en: Jueves 28 de Octubre de 2004, 05:57 »
55
« en: Lunes 18 de Octubre de 2004, 06:16 »
Esto es algo interesante que anda girando por ahi Cada pagina de memoria de programa tiene 255 posiciones o sea H'FF' en el caso del 16F84A se tienen cuatro paginas, pues solo tiene 1023 posiciones o sea 1K de memoria de programa. Primera pagina H'000' ~ H'0FF' Segunda pagina H'100' ~ H'1FF' Tercera pagina H'200' ~ H'2FF' Cuarta pagina H'300' ~ H'3FF' Si quieres poner la parte la tabla en la parte alta de la primera pagina, entiendo que es el comienzo, o sea desde el inicio de la segunda pagina. Con la directiva ORG le indicas al ensamblador en donde quieres poner el codigo, en el caso de la tabla seria: ORG H'100' Tabla addwf PCL,F DT literales,..,.., Si tienes que saber en que dirección estas, eso es facil, solo tienes que leer los registros PCL y PCLATH el primero es la parte baja del contador de programa el segundo es la parte alta. Si tu preocupacion es por un call o goto, no te hagás problemas ya que estos manejan todo el rango de memoria RAM del 16F84A, en otros pics es diferente y hay que leer las hojas de datos primero, en donde se complica es cuando lo haces con mnemonicos que tienen como destino la modificación directa del registro PCL, como en las tablas con addwf PCL,F en estos casos si tienes que tener en cuenta y cargar a mano el registro PCLATH, para esto exiten dos directivas al ensamblador: movlw HIGH Tabla movwf PCLATH movf Valor,W ;El registro Valor tiene el valor pasado a la tabla addwf PCL,F DT literales,..,.., La directiva LOW devuelve la parte baja del contador de programa "8 bits" y la directiva HIGH devuelve la parte alta del contador de programa, o sea lo que va en el registro PCLATH. También exite la directiva $ que significa el lugar actual o sea la dirección en donde está el mnemonico, te doy un ejemplo que utilizo mucho para no poner etiquetas. btfsc PULSADOR ;¿Se liberó el pulsador? goto $ - 1 ;No, vuelve desde el lugar actual menos 1 o sea a btfsc PULSADOR Otro caso podria ser mover la parte alta del lugar actual, esto se haria con: molw HIGH $ o tambien 2 direcciones más relativo al lugar en donde se está, esto es muy utilizado!! movlw HIGH $ + 2 También exiten dos directivas mas al ensamblador que trabajan en forma similar estas son para manejar codigos relocalizables (MPLINK), pero también andan en codigo absoluto, estas son, Pagesel y Pageselw la primera retoca solo los bits del registro PCLATH la segunda lo carga completo como con movlw HIGH Tabla, ejemplo : Pagesel Tabla o Pageselw Tabla Espero les sea util. Saludos!
56
« en: Martes 28 de Septiembre de 2004, 16:32 »
Hola, alguien podria darme una idea mas o menos de como realizar un visor de puertos abiertos en mi PC... y de ver los paquetes TCP que entran y salen, como para lograr un programa que me corte conexiones establecidas con otros... No quiero nada hecho ni pido la tarea ni nada por el estilo... si podrian darme alguna idea y que funciones utilizar quedare agradecido. Saludos
57
« en: Sábado 21 de Agosto de 2004, 13:42 »
Hola a todos, como veran soy super principiante y necesito de su ayuda ... instale CL 9, yo pensaba que este OS traia ya incorporado el GCC, pero me encontre con que no... baje un archivo de instalacion Gcc3.2 en formato TAR.GZ y RPM ... pero no logro instalar ninguno de los dos... el TAR.GZ me dice que el comando MAKE no existe... parece que no esta instalado... y el RPM me crea una carpeta con dos archivos, uno GCC.TAR.BZ2 y otro GCC.SPEC, pero no panza nada... pense que el tema de los RPM estaba hecho para personas que quieren todo facil, pero veo que no ... por un lado mejor, asi aprendemmos, pero es lamentable que tengamos que perder el tiempo en instalaciones cuando es necesario para cosas mas importantes... alguien puede darme una ayudita??? . Se los agradecere para toda la vida. Saludos y Suerte
58
« en: Jueves 19 de Agosto de 2004, 04:20 »
Hola, no se si habre hecho mal, lo unico que queria era no tener la ventana esa de seleccion de sistema operativo a iniciar... (LILO). ... al momento de instalarlo en mi conectiva 9, puse no instalar ni LILO ni GRUB... ahora tengo el conectiva en la particio supuesta E: ... pero no logro entrar de ninguna manera, ya que al hacer el disco de booteo en la instalalcion, este fallo y no me funka para poder entrar... ahora no tengo manera de hacer otro disco de boot... alguien tiene alguna idea... lo interesante seria poder entrar al Linux de manera facil y sin un LILO o GRUB instalado... algo mas simple, como poner un disk y ya... es porque molesta ese inicio selectivo! 8o| ... Gracias de antemano y Saludos
59
« en: Lunes 5 de Julio de 2004, 16:15 »
Hola, tengo problemas con el componente TreeView, no se como hacer para seleccionar una opcion y me muestre su respectivo RadioGroup. Intento de todo, y busco info al respecto pero no encuentro nada... alguien sabe como se utiliza este componente???. Gracias y Saludos
60
« en: Sábado 26 de Junio de 2004, 01:54 »
Para Windows 2000: 1º Bajar el parche para el Ic-Prog 2º Instalarlo, claro Y se supone que debería funcionar. Para Windows XP: 1º - Entras en ajustes (settings) - Tipo de Hardware, o presionas directamente F3 2º - Seleccionas en "Interface" -> Windows API Si con eso no funciona, tambien podemos probar lo siguiente 1º - En las propiedades del archivo, seleccionar la casilla compatibilidad con win98 Saludos
61
« en: Miércoles 23 de Junio de 2004, 00:41 »
62
« en: Domingo 20 de Junio de 2004, 20:03 »
63
« en: Domingo 20 de Junio de 2004, 00:40 »
Hola a todos, paso a preguntar... tengo tres archivos, en el archivo 1 tengo nombres de personas con apellido, ordenados en tres columnas... en el archivo 2 un numero de identificacion para cada persona, ordenados de la misma manera para que al leer combine... en el archivo 3 tengo la direccion, tambien ordenados en tres columnas. Seria algo asi: Archivo 1: Jonathan Kraft Juan Gomez Roberto Vicario Leonardo Gonzales Arnoldo Rojo Mauricio Macri etc... etc... etc... Archivo 2: 00 01 03 04 05 06 etc... etc... etc... Archivo 3: Roca 1345 Belgrano 134 San Martin 890 Del Valle 22 Parana 67 25 de Mayo 900 etc... etc... etc... Espero vallan entendiendo. Ahora la pregunta del millon Entre cada dato, hay basura, caracteres que no quiero leer y no se porque motivo se crearon... el programa que genero estos tres archivos fue elaborado por otro programador, lo que necesito es sacar esos datos de manera ordenada sin mezclarlos para usarlos en mi programa. Los caracteres que hay entre medio de cada datos es algo mas o menos asi: À 2 3 Ã LONARDI MAR¡A LUZ j LONARDI VIVIANA m LONDRA N‚LY E. > LOTO DIEGO q LUCERO P¡O Aparte de eso aparentemente estan reformados los caracters que llevan acentos: N‚LY (Nély) Pero eso no importa mucho. De que manera puedo sacar esta informacion de manera ordenada, evitando sacar tambien los carcteres basura???... se puede o tengo que escribir manualmente algo asi de 9837 nombres, numeros y direcciones??? Lo que quiero lograr es algo asi: 00 Jonathan Kraft Roca 1345 01 Juan Gomez Belgrano 134 02 Roberto Vicario San Martin 890 ETC... ETC... ETC... Disculpen el extenso mensaje... Espero haber sido ordenado y haberme hecho entender. Agradesco de antemano la ayuda brindada y quedo atento a cualquier consulta o respuesta que me quieran dar. Saludos y GRACIAS!!!
64
« en: Miércoles 16 de Junio de 2004, 20:22 »
Hola, encontre un codigo aqui que copia la imagen del escritorio completo usando las GDI y la convierte en imagen JPEG para enviarla usando el componente NMStrm de builder: HDC dc = GetDC(0); Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas; ScreenCanvas->Handle = dc; std::auto_ptr<TJPEGImage>JImage(new TJPEGImage); Image1->Picture->Bitmap->Width = Screen->Width; Image1->Picture->Bitmap->Height= Screen->Height; TRect rect = Rect(0,0,Screen->Width, Screen->Height); Image1->Picture->Bitmap->Canvas->CopyRect(rect, ScreenCanvas, rect); JImage->Assign(Image1->Picture->Graphic); JImage->CompressionQuality = 19; JImage->Compress(); std::auto_ptr<TMemoryStream> Stream(new TMemoryStream); JImage->SaveToStream(Stream.get()); NMStrm1->PostIt(Stream.get());
Al recibir esta imagen, se despliega dentro de un Image en el programa que recibe... pero las imagenes se van introducioendo una dentro de otra, es decir, el programa me toma la imagen del escritorio y del programa que toma la imagen del escritorio... despues, al recivir la otra, en vez de refrescar la imagen ya tomada y poner la otra encima, me pone la nueva imagen dentro de la imagen que ya tomo... y asi se forma una imagen dentro de la otra como si fuera un tunel (perdon por esta explicacion, es la que encontre mas facil de hacer entender). Como puedo evitar este efecto???... como puedo enviar la imagen pero sin antes convertirla a JPEG para que no pierda calidad???..... Gracias y perdon por el embrollo. Saludos
65
« en: Sábado 5 de Junio de 2004, 17:25 »
Hola Solocodigo, queria consultarle si hay alguna manera de conseguir este foro que esta super de manera gratuita, o algo similar... lei muchos post en los cuales respondia que en la pagina oficial se encuentra el foro que tenian antiguamente, pero no logro encontrarlo , me podrias ayudar???. Gracias y Saludos
66
« en: Sábado 5 de Junio de 2004, 17:22 »
Hola a todos, estoy en progreso de construccion de un sitio web y me he chocado con el problema de la creacion de un buen logo para el sitio... la idea la tengo pero no se que programa utilizar para hacer que este logo se vea como ninguno ... en linux existe el GIMP, el cual es un muy buen programa aparte facil de utilizar, que programa me recomiendan para crear el logo???... si es de simple manejo mejor. Saludos y Gracias
67
« en: Sábado 5 de Junio de 2004, 14:17 »
68
« en: Sábado 5 de Junio de 2004, 02:52 »
Hola, consulto lo siguiente, cuando ingreso al chat intento utilizar mi nick el cual es de SOLOCODIGO... pero no me lo permite , sera por el sombolo de "©" ... hay alguna manera de entrar con mi NICK ... bueno, espero sus respuesta, gracias :D:D y disculpas por las molestias. Saludos
69
« en: Martes 11 de Mayo de 2004, 19:15 »
Hola a todos, queria preguntarles como puedo hacer para crear ventanitas como las que crea el MSN cuando un usuario entra en sesion. O que fucniones de las apis debo utilizar. Un estilo como el programa que adjunto aqui. Gracias y saludos
70
« en: Miércoles 5 de Mayo de 2004, 12:57 »
Hola, queria preguntar, el porque hay tanta diferencia en la instalacion y creacion de componentes en builder C++???... quiero aprender a crear los mismo (visuales), y no logro hallar la informacion ni siquiera de por donde comenzar, que es lo que tengo que averiguar para pader hacer un componente con un estilo de LCD ???... tengo que estudiarme todas las clases de los demas componentes que ya trae builder???... esa info, donde esta??? ... los componentes de builder, traen su codigo fuente??? Porque al crear un componente deribas de otro similar, pero como tratas los eventos y las propiedades del componente nuevo???. Perdon si hago demasiadas preguntas, es que vengo desde hace mucho con el intento de hacer un misero componente y no he logrado mas que derivar una nueva clase de otra existente como puede ser un TEdit y compilarla... Disculpas y las gracias antisipadas
71
« en: Martes 27 de Abril de 2004, 14:36 »
Hola, la pregunta que quiero hacerles es como puedo reemplazar esta funciona que funciona en builder 6: ShellExecute(Handle, "open" ,"http://foros.solocodigo.com",0,0,SW_SHOW); Por otra igual pero para builder 1, No se como hacer, alguna idea. Saludos y Gracias
72
« en: Lunes 26 de Abril de 2004, 21:36 »
Hola a todos, hacia rato que no viajaba por aqui y dejaba algun post, ahora llego el momento de dejar una duda... el pproblema consiste en que quiero manejar el puerto LPT sobre windows XP y NT pero no logro manejarlo de ninguna manera, ya que aparentemente no se puede programar en assembler sobre esots OS... como puedo hacer para manejar los puertos dentro de estos windows, la idea seria hacer una DLL, pero no se como empezarla. Alguien me podria dar una mano. Saludos y mil Gracias
73
« en: Lunes 26 de Abril de 2004, 15:24 »
Hola, queria consultarles como puedo hacer para evitar este error... comunmente cuando quiero accesar a lugares como el puerto paralelo, el sistema operativo me muestra un error que dice que no me permite acceder por no ser el administrador, anteriormente inicie el sistema operativo con una sesion propia y no como administrador, como debo hacer para que un programa que se ejecute de cualquier forma tome el mando como si fuera administrador... Esto si es raro ... Saludos y Gracias
74
« en: Sábado 17 de Abril de 2004, 23:39 »
Hola, queria consultarles haber si por casualidad alguien sabe como solucionar este error que me aparece al abrir el builder C++ 6. ERROR: List Index out of bounds (-1) Talvez sea algo comun, pero no logro solucionarlo. Este error no me deja compilar ninguna aplicacion que elabore en builder. Y eso si que me jode. Saludos y Gracias
|
|
|