84 RT_PIPE_MSG *msgin; 85 ssize_t len; 86 int err; 87 char *token; 88 char string[] = "" ; 89 char* pString = string; 90 char *pmyChar; 98 while(1){ 99 err = rt_task_wait_period(NULL); 100 101 if (err) { 102 if (err != -ETIMEDOUT) { 103 printk("rt_task_wait_period() failed: code %d\n", err); 104 rt_task_suspend(NULL); 105 } 106 continue; 107 } 108 //number of bytes received 109 len = rt_pipe_receive(&myPipe, &msgin, TM_INFINITE); 110 printk("number of received bytes %d\n", len); 111 //taemot och försök att behandla data från pipen 112 pmyChar = P_MSGPTR(msgin); 113 printk("pmyChar is : %s\n",pmyChar); 114 strcpy(string,pmyChar); 115 // printk("%s\n",pString); 116 token = strsep(&pString,"\n"); 117 while((token=strsep(&pString,"\n"))!=NULL){ 118 printk("%s\n",token); 119 } 120 121 rt_pipe_free(&myPipe,msgin); 122 printk("TASK3 has ran\n"); 123 } echo "hej" > /dev/rtp0 ger: TASK2 has ran number of received bytes 4 pmyChar is : hej Ø÷ TASK3 has ran