What are the possible problems for slave to not give ACK (pull down SDA line) after 8 bits of data? I can see 8bits (slave address) with osciloscope, but the ACK is high at 9th bit clock pulse, why?
A common problem when there is no ACK is that the slave address was incorrectly placed in the outgoing byte.
The 7-bit address needs to be shifted left one bit and the R/W bit inserted at the LSB.
What device are you trying to communicate with? What is the slave address you are using?
Interesting - I already listed the possible reasons in this comment in that similar question. However, since that comment actually answers the more-general question here, I will "promote it" to an answer.
The 3 general categories of problems which can cause that behaviour are:
Electrical problem on the bus, so the slave does not actually "see" that it is being addressed. Some examples are obvious (e.g. missing pull-up resistors). Others are more subtle (e.g. pull-up resistor values unsuitable for length of bus, missing voltage translation etc. etc.) and may need an oscilloscope to investigate.
Address problem e.g. you think you have configured the slave to use address X, but it is actually using address Y, so it correctly does not "Ack" address X (this is device-specific). Check the datasheet.
Slave is being correctly addressed, but is not in the correct state to "Ack" right now - this is device specific (e.g. there can be timing constraints etc. etc.). Check the datasheet.
Or, of course, the slave could simply be faulty, or the design has another hardware problem (e.g. missing or out-of-spec power supply voltage, missing decoupling, or other conditions specified in the device datasheet).
All of the "unresponsive I2C slave" situations which I have seen, fit into one of those categories.
If you are Blabec from that previous question it would be sensible to stick with one username and to reference previous questions when you ask a new one, to avoid people duplicating effort, as they might not see the previous related questions.