|
Hi. S_IN/S_OUT is bitbang, i.e., software communications. Just about any I/O port pin can be used. The latest Atom rev, RevB, does both to do programming with a single pin. This method uses a diode to seperate the input/output levels of the MAX232 RS232 IC. This is called Half Duplex, as only one device, the Atom or PC, can be talking, the other must listen. So, after Reset, the Atom listens for the PC to start talking to it. If nothing happens within a short time out period, the Atom checks to see if a program is already loaded. If yes, it runs it. If not, it just sits there and spins its wheels until a Reset starts the process all over. If the PC does start a program session, the Atom responds with a short message announcing its pin count, 28 or 40. The PC uses this info to determine if the program it has will fit. If yes, it streams the code over to the Atom. At program end, there is another short exchange, the PC puts the Atom through a Reset cycle and wanders away. The Atom then starts the timeout over again, the PC is quiet, the Atom finds the program, and starts it running.
HSERxxx is comms using the PIC's internal USART. This works much more reliably, and can go much faster. This is commonly employed in must-work, lotsa-data transmissions. Use the data sheet to find which pins are TxD and RxD. These are usually RC6 and RC7.
For me, I have achieved 57,600 baud reliably using S_IN, S_OUT bitbang; I have done up to 115,200 using HSERxxx stuff. All this was done with 20MHz clocks.
Do you have answers to my questions above? kenjj
|