Ok guys. this is how I have set it up.
in userconfig.h
#define BSPCFG_ENABLE_ITTYA 1//use interrupt version...
in MyBoardk40x256.h
#if BSPCFG_ENABLE_ITTYA
#define BSP_DEFAULT_IO_CHANNEL "ittya:"
#define BSP_DEFAULT_IO_CHANNEL_DEFINED
...
#define BSP_DEFAULT_IO_OPEN_MODE (pointer) ( IO_SERIAL_RAW_IO |IO_SERIAL_NON_BLOCKING)
the tasklist is
const TASK_TEMPLATE_STRUCT MQX_template_list[] =
{
/* Task Index, Function, Stack, Priority, Name, Attributes, Param, Time Slice */
{ HELLO_TASK, hello_task, 1500, 8, "hello", MQX_AUTO_START_TASK, 0, 0 },
{ COMMS_TASK, rs232_task, 1000, 8, "rs232", MQX_AUTO_START_TASK, 0, 0 },
{ 0 }
};
And the rs232-stask is
/* --------------------------------------------------------------------------
MQX task. Very simple
--- */
void rs232_task
(
uint_32 dummy
)
{
static int rxcount = 0;
uint_32 st;
char in;
while(1){//sit here forever
st = status(); //waiting for chars
if (st){
in = getchar();//add char to rxbuff
tx_byte(in);// echo debug
if (CR==in){//if CR
rxbuff[rxcount]=0; //replace CR with 0
comm_handler(); //parse command
rxcount=0; //reset rxcount
}
else{
rxbuff[rxcount]=in;
if (++rxcount>BUFFSIZ) rxcount = BUFFSIZ;//stop overrun.
}
}
}
}
This works quite nicely...except that the hello_task never runs.

Like I said, I need this task to sleep pending an incoming character.
Help?