Hello,
I have a problem controlling the ISD2560 audio recorder, connected to a microcontroller (Atmel Mega 32). I have recorded several messages and they are correctly played back in push button mode. But I need to play one specified message, not all of them.
The ISD2560 works now with A4(M4) = A8 = A9 = 1, A0(M0) controlled by the microcontroller (signal name: Isd_m0), with the rest of Ax = 0. The microcontroller controls inputs: P/!R (Isd_pr), PD (Isd_pd), !CE (Isd_ce).
According to the documentation, the general idea of playing back the n-th message is as follows:
- "Rewind" the memory to the beginning (a positive pulse to the PD),
- Turn on "fast-playing" (M0=1) while !CE = 1,
- Pulse CE (1 -> 0 -> 1) n-1 times,
- Enable normal playback (M0 = 0),
- Pulse !CE once.
Unfortunately, the effects are rather random: some message is played (or sometimes not), but not the one which I want. Delays between line changes affect the behavior. How should this be done properly? The following code in Bascom should do this job (but doesn't). In the original code, there is a delay (waitms 1) after each assignment.
Isd_pr = 1 Isd_pd = 0 Isd_pd = 1 Isd_pd = 0
For i = 2 To n Isd_m0 = 1 Isd_ce = 0 Isd_ce = 1 Next i
Isd_m0 = 0 Isd_ce = 0 Isd_ce = 1
Regards Piotr