I am working on a project using a Nano to program an AD9850 DDS module. In all the research I have conducted regarding this combination, communication is done serially. Research on parallel communication (using pins D0-D7) reminds the reader that Arduinos use D0 and D1 for serial communication with the serial monitor and the computer hosting the Arduino IDE, and that co-opting D0/D1 for parallel communication (through PORTD) runs the risk of disabling serial communication.
However, the Serial library includes both Serial.begin, and Serial.end methods. If I were to conduct parallel communication through PORTD within a bracket of Serial.end/Serial.begin, would I be running the same risk.
That is:
//
void loop() {
...
Serial.end() //Terminate serial communication
// Begin parallel communication through PORTD
...
//End of parallel communication
Serial.begin(9600) //Re-establish serial communication
...
}
Another way of asking this question is: Does the Serial.begin method make any assumptions regarding the state of pins D0/D1, or does it reset those pins to a known state before proceeding with communication.