use a semaphore as a flag

I meed to have a data good flag to use between to tasks. The examples use a binary semaphore to control access to a resource. It appears that the task with the data can creates a binary semaphore and take and gives it back if the data is good. The second task can attempt to take the task with a zero wait time. If the data is good it will be able to get the semaphore if the second task can not take the semaphore. Is this the proper way to use the binary semaphore as a flag?

use a semaphore as a flag

What you describe should work. While Binary semaphores can be used for this, in most cases using a mutex is better.  One of the big advantage of a mutex is that if a high priority task waits on a mutex for a resource, and a lower priority task currently has it, the lower priority task is given a temporary boost in priority so the higher priority task can get the resource quicker.