FelipeMdeO commented on issue #13855:
URL: https://github.com/apache/nuttx/issues/13855#issuecomment-2411572560

   Hello @eren-terzioglu 
   
   below you can see an example:
   
   ```
   #include <nuttx/config.h>
   #include <stdio.h>
   #include <fcntl.h>
   #include <unistd.h>
   #include <errno.h>
   #include <string.h>
   #include <stdlib.h>
   
   /****************************************************************************
    * Public Functions
    
****************************************************************************/
   
   #define MASTER 0
   
   #ifdef MASTER
   #define SOURCE_FILE "/dev/spi2"
   #else
   #define SOURCE_FILE "/dev/spislv2"
   #endif
   #define BUFFER_SIZE 256
   
   /****************************************************************************
    * hello_slave_main
    
****************************************************************************/
   
   int main(int argc, FAR char *argv[])
   {
     int fd;
     char buffer[BUFFER_SIZE];
     ssize_t bytes_read;
   
     printf("Slave started!!\n");
     fd = open(SOURCE_FILE, O_RDWR);
   
     if (fd < 0)
     {
         printf("Failed to open %s: %s\n", SOURCE_FILE, strerror(errno));
         return 0;
     }
   
     while(1)
     {
         // Read the number from the source file
         printf("Slave: Reading from %s\n", SOURCE_FILE);
         bytes_read = read(fd, buffer, BUFFER_SIZE - 1);
         
         if (bytes_read < 0)
         {
             printf("Failed to read from %s: %s\n", SOURCE_FILE, 
strerror(errno));
             close(fd);
             return 0;
         }
         else if (bytes_read > 0)
         {
             buffer[bytes_read] = '\0';
             printf("Slave: Read value '%s' from %s\n", buffer, SOURCE_FILE);
   
             // Write the same value back
             printf("Slave: Writing value '%s' back to %s\n", buffer, 
SOURCE_FILE);
             if (write(fd, buffer, strlen(buffer)) < 0)
             {
                 printf("Failed to write to %s: %s\n", SOURCE_FILE, 
strerror(errno));
                 close(fd);
                 return 0;
             }
         }
   
         sleep(1);
     }
   
     close(fd);
     return 0;
   }
   ```
   
   
   In this example I am always answer empty buffer to master, but you will see 
that the master will print data.
   If you have one available, please use a logic analyzer.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to