Hello, I built an AOUT LC (used resistor networks for the 10k resistors rather than a bunch of discretes). I’m really confused on what happens when I use the function AOUT_Pin16bitSet(). For example, my expectation is that if I call AOUT_Pin16bitSet(0,32767), I’d see +5v on all the data output pins of the two 74hc595 chips, but instead the lower 3 of the second chip are zero, and the 7th pin of the first chip is 0.
That seems like some kind of bit shift / carry problem, but I don’t quite understand how that AOUT_Pin16bitSet() function works. I was using AOUT_Pin7bitSet successfully, but since that’s only 7 bits, I think I’m losing one pin on each 74hc595, and I’d like to get the full 8 bits of output.
What I need is the ability to correct my pitch levels in software since the hardware I’m interfacing my AOUT LC to isn’t perfectly linear in its response, but 7 bits is too coarse.
Any help someone could provide would be greatly appreciated.
–Joe R.