Dallas/Maxim one wire initialization
If the STM32F4 is pulling high, then you can't expect the DS18B20 to be able to pull low. You should bring your output high for a short time (a couple of microseconds would do), and then tri-state it. The pullup resistor will then hold it high until the DS18B20 pulls it low (the STM32F4 may have an internal pullup). As it is, you probably have contention on that net, which may eventually destroy one or the other.

Note that in that article that you linked to that he is using a 3.9kohm resistor as a pullup. Also note that he is tri-stating the line by making it an input (which would be necessary anyway in order to read it).