J'ai un probleme en utilisant la fonction SrmReceiveCheck, celle-ci me renvoie toujours 0 (dans la variable passée en paramètre). Pourtant si je lance la fonction SrmReceive, je recois bien ce que j'ai envoyé à partir d'un terminal quelconque.
voici mon code :
CODE
err = SrmOpen( 'ircm', 115200, &Port );
if( err == errNone )
{
SrmSendFlush( Port );
SrmReceiveFlush( Port, SysTicksPerSecond() );
}
else
return;
do
{
EvtGetEvent( &event, /*evtWaitForever*/10 );
SrmReceiveCheck( Port, &size );
StrPrintF( buffer, "%d", size );
WinDrawChars( buffer, StrLen( buffer ), 70, 15 );
if( size > 0 ) Test( size );
SysHandleEvent( &event );
MenuHandleEvent( NULL, &event, &err );
FrmDispatchEvent( &event );
}while( event.eType != appStopEvent );
if( err == errNone )
{
SrmSendFlush( Port );
SrmReceiveFlush( Port, SysTicksPerSecond() );
}
else
return;
do
{
EvtGetEvent( &event, /*evtWaitForever*/10 );
SrmReceiveCheck( Port, &size );
StrPrintF( buffer, "%d", size );
WinDrawChars( buffer, StrLen( buffer ), 70, 15 );
if( size > 0 ) Test( size );
SysHandleEvent( &event );
MenuHandleEvent( NULL, &event, &err );
FrmDispatchEvent( &event );
}while( event.eType != appStopEvent );
Pour conclure je passe jamais dans la fonction Test() car size est toujour = à 0 ....