I think it is quite straight forward. Anyway, here goes. Unchecked, untested, use at your own risk and consequence
Code:
/***********************************************************************\
APR48000 voice record/playback IC routines
\***********************************************************************/
' Send a command to the APR48000
' APR_Cmd is the APR Opcode
' APR_Adr has the parameter for the opcode
' Send order is Msb-Lsb
' First the Cmd (Lower 6 bits), then Adr (Lower 15 bits)
' PWRUP (4) (0x2)
' REC (9)
' PLAY (D)
' FWD (3)
' STOP (6)
APR_cs var PORTA.0 ' define your own
APR_di var PORTA.1 ' define your own
APR_clk var PORTA.2 ' define your own
APR_Cmd var byte
APR_Adr var word
BitCnt: var byte
CommandAPR:
APR_Cmd = APR_Cmd << 3
APR_Adr = APR_Adr << 1
APR_cs = 0;
for BitCnt = 0 to 5
APR_di = APR_Cmd.7
APR_clk = 1;
APR_Cmd = APR_Cmd << 1 ' remove the bit we transferred
APR_clk = 0;
next
for BitCnt = 0 to 15
APR_di = APR_Adr.15 'unsure of this instruction
APR_clk = 1
APR_Adr <<= 1 ' remove the address bit transferred
APR_clk = 0
next
APRcs = 1;
}
/***********************************************************************\
APR48000 voice record/playback IC routines
\***********************************************************************/
Bookmarks