Hi Joan,
If you are using an Auto-Shared Channel, it is assumed that the master device has no knowledge of the slaves' shared addresses, or the slave devices cannot be provided with unique shared addresses.
An ANT Auto-Shared Channel is useful if you wish to provide the ability for a master device to dynamically register slave devices and assign them unique shared addresses that they can use to participate in the shared channel.
I think your confusion is that the slave's shared address changes throughout the handshake process before it is set by the master.
Initially, the master will send the Address Available (0xFF) message with shared ID 0xFFFF indicating that slots are available. This message contains the next available shared address and the suggest data timeout.
The slave device that wishes to acquire a shared address from the master will have shared address 0xFFFF. If a listening slave receives the Address Available message, it will send back the Request Address (0xFD) message. This message is sent as ACKNOWLEDGED data. This message also has the shared address of 0xFFFF, and contains the Slave's unique serial number or device ID.
If this Request Address message is successfully received by the master, it will acknowledge it.
Upon receiving the acknowledge message, the slave should recognize that it must now change its shared address to 0xFFFE in anticipation for the next message from the master.
The master will then send the Busy Acquiring (0xFE) message with shared address 0xFFFE. This message contains the unique ID that the master received from the slave in the Request Address message
The slave (whose shared address is now 0xFFFE) will send the Confirm Acquire (0xFC) message with shared address 0xFFFE. This message is also sent as ACKNOWLEDGED data and contains the unique ID of the slave.
After the slave receives the acknowledgement from the master that the Confirm Acquire message was received successfully, the initial handshake is complete.
The slave will then change its shared address to the shared address received by the master in the initial Address Available message. After this, the slave device works the same as a shared channel slave device. If the master wishes to send the slave device a message it should use this shared address.
To implement an Auto-Shared slave device, it is important to note that its shared address needs to be explicitly changed throughout the handshake process.
I high recommend looking at the Embedded Reference Code available in the ANT+ Adopter Zone:
http://www.thisisant.com/pages/ant/ant-embedded-reference-code
Pay particular attention to Main_Demo3.c. This code provides an example slave device configured as auto-shared.
I hope this helped,
Kassandra