Hi,
as already mentioned previously, I made very good experiences
with rtl, but now I encountered a strange problem. Using the
following code, a analogue output board works well with rtl
unter Pentium 133, but not with a 486. To be more precise,
the 4 significant bits of the high byte (12 bits in total)
are ignored by the board on a 486, even though the same code
works fine on a Pentium.
In fact I output 0x0 on ioport 0x2C0 (high byte) and 0x00
on 0x2C1 (low byte of 12 bit DAC) which should correspond
to -5 Volts. However, I measure 4.37 Volts which tells me
that the board registers are set to 0xf and 0x00,
respectively. What is different for a 486 in outb() ????
/******************************************************
* rtl_test.c *
******************************************************/
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
#include <linux/mc146818rtc.h>
#include <linux/ioport.h>
int init_module(void)
{
printk( "rt_acl6126.o: Starting module init\n" );
request_region( 0x2c0, 16, "rt_acl6126.o: " );
/* this corresponds to -5 Volts on the board */
outb( 0x00, 0x2c0 ); /* high byte of DAC0 */
outb( 0x00, 0x2c1 ); /* low byte of DAC0 */
printk( "rt_acl6126.o: Leaving module init.\n\n" );
return(0);
}
/*
* cleanup_module --- the compulsory cleanup function
*/
void cleanup_module(void)
{
printk( "rt_acl6126.o: Starting module cleanup\n" );
release_region( 0x2c0, 16 );
printk( "rt_acl6126.o: Leaving module cleanup.\n\n" );
}
--
Dr. Peter Wurmsdobler
CTM - Centre de Transfert des Microtechniques
39, av. de l'Observatoire, BP-1445, 25007 Besancon CEDEX 3
TELEPHONE: +33 3 81 47 70 20 TELECOPIE: +33 3 81 47 70 21
E-mail: [EMAIL PROTECTED]
Ceterum censeo MIRCOSOFTem esse delendam.
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/