C and UNIX have such a tight history that discerning what’s part of the C standard library and what’s part of the C POSIX libraries can get a little tricky. unistd.h is part of the latter (I’m not even sure it’s mentioned in K&R?) and provides OS APIs which exist to hide the hardware implementation from the application developer, and as the HiFive1 doesn’t run any POSIX compliant OS there’s not much in unistd.h which would be very useful (n.b., there are a few things like a NULL definition, which can come in handy).
In the embedded scope you create delays either by carefully calculated loops (ug) or structuring your code around events which can be driven by hardware timers. See the GPIO demo program distributed with the Freedom E SDK for an example and there’s a lot of helpful information in the manual.
Finally, there’s always the Arduino IDE. I don’t know how complete it is for the HiFive1 but that may also be a good place to start easing into embeded delays and interrupts.
There’s nothing silly about any of these questions.
[quote=“seasharp, post:1, topic:591”]My ultimate goal right now is to learn more about using standard C libraries to control digital output via GPIO (driving a resistor ladder DAC a la http://www.instructables.com/id/Arduino-Audio-Output/)
Cool. If it’s analog translation you’re ultimately interested in the FE310 is also pretty generous with hardware PWM which can used with a smoothing capacitor to generate varying levels from a single IO pin.