mbedの使い方|音声合成LSIを使う|マイコン入門

当ページのリンクには広告が含まれています。

mbedの基本的なI/O方法と実例。
この記事では音声合成LSI ATP3011F4-PU をSPIで使います。

興味があるところを読む

音声合成LSI ATP3011F4-PU をSPIで使う 2013/11/30

 これもあまりに簡単。
 使ったモジュールはこれ
 回路図はこちら。


 プログラムはこちら。
 SHでのSPIの時は本気で取り組んだけど、mbedはもうやんなっちゃうぐらい簡単。
 SHっていったいなんだったんだ(^^;

//----------------------------------------------------------------------------------------
// mbedのSPIで音声合成LSI ATP3011F4-PU を使う  2013/12/15 oj3
//  SPIのMODE=3, 周波数は1MHz, SSを使用
//----------------------------------------------------------------------------------------
static bool VoiceRdy(void);
// 出力開始
static void VoiceOut(const char *s, bool stopv=FALSE)
{
    DGO_VoiceSs = 0;    // CS=ON
    // 前の発声を中断して発声するなら・・・
    if (stopv == TRUE) {
        const char *w = "$\r";
        while (*w) {
            SPI_a.write(*w++);
            wait_ms(1);
        }
        while (VoiceRdy() == FALSE);
    }
    // 発声の終了を待つなら・・・
    else while (VoiceRdy() == FALSE);
    // 発声開始
    while (*s) {
        SPI_a.write(*s++);
        wait_ms(1);
    }
    wait_us(5);
    DGO_VoiceSs = 1;    // CS=OFF
}
// 出力が終了したか調べる(終了時TRUE)
static bool VoiceRdy(void)
{
    if (SPI_a.write(0xff) != '>') {
        wait_ms(10);
        return (SPI_a.write(0xff) == '>')? TRUE:FALSE;
    }
    return TRUE;
}
スポンサーリンク
スポンサーリンク
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


興味があるところを読む