GPIO problem


#1

hi all,
I had wasted a whole day on the gpio problem.And the result really frustrated me.
The product is Q24PL0002 ,OS version is 3.14,firmware is 657e.

void adl_main ( adl_InitType_e InitType )
{
	TRACE (( 1, "Embedded Application : Main" ));
	GPIO1_Handle = adl_ioSubscribe ( ADL_IO_Q24PLUS_GPO_1, 0,1,0,NULL); // GpioHandler ,output,value=1
	TRACE((1,"iowrite return value is %d",GPIO1_Handle));
	writereturn=adl_ioWrite ( GPIO1_Handle, ADL_IO_Q24PLUS_GPO_1, 0 );
	TRACE((1,"iowrite return value is %d",writereturn));
writereturn=adl_ioWrite ( GPIO1_Handle, ADL_IO_Q24PLUS_GPO_1, 1  );
	TRACE((1,"iowrite return value is %d",writereturn));
}

The monitoring tool shows :
Trace IP 1 Embedded Application : Main
Trace IP 1 iowrite return value is 5
Trace IP 1 iowrite return value is 0

And the ADL_IO_Q24PLUS_GPO_1 is not used by any other function.

But the GPO1 output did not changed at all.

Anyone faced the same situation ?Thank u for your direction in advance.


#2

The problem was soloved .I made a so stupid mistake.

writereturn=adl_ioWrite ( GPIO1_Handle, ADL_IO_Q24PLUS_GPO_1, 0xFFFFFFFF );

GpioValues | x | | | Mask of Gpio values to write
must be 0xFFFFFFFF