xtest13_2.c

来自「AT91sam7s 256 B/D example」· C语言 代码 · 共 39 行

C
39
字号
/* ========================================================================== */
/*		      Xtest13_2.c : Telephone Bell Sound		      */
/* ========================================================================== */
/*			  Designed and programmed by Duck-Yong Yoon in 2007.  */

#include "AT91SAM7S256.h"
#include "lib_AT91SAM7S256.h"
#include "OK7S256ads.h"

int main(void)
{
  unsigned int i;

  MCU_initialize();				// initialize AT91SAM7S256 & kit
  Delay_ms(50);					// wait for system stabilization
  LCD_initialize();				// initialize text LCD

  LCD_string(0x80,"  ** SOUND **   ");		// display title
  LCD_string(0xC0," Telephone Bell ");

  AT91F_PWMC_CfgPMC();				// enable clock of PWMC
  AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, SPEAKER, 0); // PWM0 output on PA0

  while(1)
    { AT91F_PWMC_StartChannel(AT91C_BASE_PWMC, AT91C_PWMC_CHID0); // start sound
      for(i=0; i<20; i++)
        { AT91F_PWMC_CfgChannel(AT91C_BASE_PWMC, 0, 0x0204, 9375, 4688);
						// 48MHz/16/9375 = 320Hz
          Delay_ms(25);
          AT91F_PWMC_CfgChannel(AT91C_BASE_PWMC, 0, 0x0204, 6250, 3125);
						// 48MHz/16/6250 = 480Hz
          Delay_ms(25);
        }

      AT91F_PWMC_StopChannel(AT91C_BASE_PWMC, AT91C_PWMC_CHID0);  // stop sound
      Delay_ms(1000);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?