SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: FeLiXxUcO en Viernes 21 de Mayo de 2004, 03:00
-
Hola el problema es q tengo hecho un programa q controla todos los registros del puerto serie mediante ensamblador y m da errores de privilegio y de "acces violator" y mi pregunta es si hay alguna manera para q funcione.
Como por ejemplo aqui para saber cual es la direccion base del COM2
asm{mov di,02H
push ds
mov ax,40H
mov ds,ax
mov ax,[ds:di] <--- Error
pop ds
mov DBASE,ax
}
o cada vez que uso interrupciones (14h) o instrucciones como out o in
Hay alguna manera de hacer que funcione??
Ya digo que ejecutado desde W98 funciona perfectamente
Gracias :)
-
El problema de access violation es por que Windows Xp, "algo" más serio que Windows 98, no deja acceder directamente a hardware, si no estas en "modo sistema" o algo asi, para evitar cuelges y demás
en pocas palabras, los controladores como este no funcionan (yo tenia varios), respecto a lo de hacerlo de otra manera, siento no poder ayudarte :( , en delphi si que hay componentes que se encargan de eso, es raro que no los haya en Builder.
-
Gracias carquemo de todos modos, pro no exixte manera de hacer que se quite esa proteccion?? he estado buscando la manera de desactivarlo y q te permita ejecutar instrucciones de ese tipo pro no he encontrado na..
Si que he encontrado una alternativa que es el "dlportio" para borland pro no se como usarlo.. la cosa es q no solo quiero enviar o recibir datos por puerto serie si no por ejemplo poder activar el bit 4 del MCR para ponerlo en modo autotest y cosillas de ese tipo. El programa q hice daba la posibilidad de modificar todos los bits de todos los registros de la UART.
De todas maneras si alguien tiene alguna solucion agradeceria respuestas.
Gracias.
-
No hay manera de romper esa proteccion, segun tengo sabido.. para manejar el puerto debes utilizar las API'S de Windows... es facil y hay bastante info sobre el tema en el google... yo quisiera manejar bien el puerto paralelo con las apis, pero aparentemente es mas dificil que el serie :(... Bueno, Saludos y Suerte :hola:
-
Pos gasias, ya mirare a ver pro a mi me interesaba mas aprovechar to el codigo q tengo, q se pudiera usar para XP, pro weno.. ya seguire mirando..
-
He encontrao informacion de API´s y si tuviese q usar un programa con puerto serie veo como seria mas o menos... No era lo q buscaba xq queria que funcionase el codigo en ensamblador pro weno...
De todas maneras Hay una cosa q no he encontrado y si q me interesa:
Con el bit 4 del MCR pones el puerto serie en autotest, y desde ASM se como hacerlo pro desde API´s no.
Sabes como hacerlo Jhonatan?? si eso ya m diras porqeu de las funciones q he visto mas o menos ha sido lo unico q he hechado en falta.
Ya m diras, muxas gracias
-
Perdoname, pero si se no se como hacerlo, habria que buscar mas info acerca de esas apis y ver que sale, como nunca he chocado con ese problema aun no lo tengo resuelto. Perdona ;) ... Saludos :hola: