So I do owe MrDEB an apology.
I connected a couple DS18B20 sensors in parallel with the correct 4k7 resistor, and only one sensor was read using the software UART routines for output (see comment below).
Time for troubleshooting. First stop...the Swordfish Basic forum page to see if there were updates to any of the OneWire modules. None that I could find. Another Swordfish example is a OneWire search program. It will just output a list of OneWire devices and their ROM-IDs. Again, only one sensor reported.
I vaguely remember playing with these modules in the past, and I had every reason to believe they work. Back to the Swordfish Basic forum, not to ask a question but to see any evidence these modules work. Yep, there's a printout showing several different devices found – a solid indication the modules work as described. Just to verify, I compared the posted code to my sample file code just to be sure I didn't miss an update somewhere. Exactly the same, except the posted code used the hardware UART, while my code (and MrDEB's) used the software UART.
Doesn't seem like this should cause a problem, but it's simple enough to test (
and easier to test than to write a coherent question)...one letter has to be added in about 6 write statements, or just reload the original, unmodified program.
I recompiled the OneWire search program, loaded it to my board, switched the PICkit 2 cable to the UART connector and saw the expected result. The UART connector on the TAP-28 board is wired so that simply removing it from the 6-pin ICSP connector to the 6-pin UART connector results in the correct connections to use the UART tool.
Made the same few changes to the DS18B20 ReadAll program, compiled and archived the expected results.
So, was this extraordinary troubleshooting? Require any specialized or in-depth knowledge?
No. I changed code that I could reasonably assume worked, and it didn't work after my changes. This is baby-step 101 troubleshooting. This is stuff that anybody doing any kind of programming should be able to do without begging for help in a forum.
Why don't the OneWire modules and the software UART module play nicely together? I don't know and I don't particularly care at this point. Figuring out
this question would require some more in-depth knowledge. Why don't I care? The Swordfish software UART module is widely known to be crap – useful for debugging, but I wouldn't use it for anything important.
So that brings up the question....why do I used the software UART module if it's crap? I configure the software UART
for program output only to the ICSP connector. This allows me to program a chip and instantly switch over to the PICkit UART tool to monitor program output without even moving a cable. Like I said here, and in the article at Digital-DIY where MrDEB learned of the technique, it's a good technique for
quick&dirty debugging.
So, I spent an hour setting this up, testing it out, researching it and doing baby step troubleshooting on MrDEB's behalf, and another hour and a half writing this discussion because he didn't take 5 minutes to do rudimentary troubleshooting. I don't think a "thanks", "THANKS" or even a "tHANKS" is going to make up for this waste of time. In fact, I suspect MrDEB will blame me for his problems since he followed something I posted long ago – see link below.
MrDEB, your problems aren't worth my stress and a hastily tossed off "THANKS" isn't going to buy anymore help from me. Little Ghostman has given you some excellent advice and suffered unfairly for his efforts. You might go back and find that advice. Your sucker pool of people willing to help seems just about empty.
Not Quite Trivial - A Tip for using the Software UART with the PICKit 2