Information for FAQ
2005-05-19 by djbrow54
Here's some data for the PSIM FAQ. 1: I've spent some time with a MIDI analyzer looking at the data on power up. The PSIM would almost always send one erroneous byte on power up. I have found that this is caused by setting the MIDI-out pin to an output. Instead I initialize it to an input which eliminates the erroneous data from being sent. The hserial commands initialize the pin so it functions properly. ;initialize pins dirs=%0011111010000000 ;configure pin direction (1=output, 0=input) ;inputs: ; midi-in, aux, speakjet flow control, ; start, stop, in-4, in-3, in-2, in-1 ;outputs: ; load_dacs, ser_data, clock, stop led, ; run led, speakjet serial output ; note: setting midi-out pin sends erroneous data 2: The hserial commands initialize a 128 byte input buffer and a 128 byte output buffer that operate via interrupts. The following commands initialize the serial system. ;enable MIDI serial hardware enablehserial sethserial h31200,h8databits,hnoparity,h1stopbits The following commands transfer midi_data to and from the buffers: ;send data to MIDI output buffer hserout [midi_data] ;receive data from MIDI input buffer ;data_flg set 1 for data and 0 for no data let data_flg=0 ;set empty flag hserin 0,no_data,[midi_data] if midi_data=$fe then no_data ;ignore active status let data_flg=1 ;set data returned flag no_data: