示例#1
0
int main ()
{
//! [Interesting]

    // Instantiate a Speaker (PWM) on digital pin D3
    speaker_context speaker = speaker_init_pwm(26);

    if (!speaker)
    {
        printf("speaker_init() failed\n");
        return 1;
    }

    // emit a series of frequencies for 500ms each
    speaker_emit(speaker, 50, 500);
    speaker_emit(speaker, 75, 500);
    speaker_emit(speaker, 125, 500);
    speaker_emit(speaker, 250, 500);
    speaker_emit(speaker, 500, 500);
    speaker_emit(speaker, 1000, 500);
    speaker_emit(speaker, 2000, 500);
    speaker_emit(speaker, 3000, 500);
    speaker_emit(speaker, 5000, 500);
    speaker_emit(speaker, 10000, 500);

    printf("Exiting\n");

    speaker_close(speaker);

//! [Interesting]

    return 0;
}
示例#2
0
/**
 * 	@brief:farSignalProcess
 *
 * 	@note:
 */
void farSignalProcess(void)
{
    gl_leftNumOrig  = findLeftBlackNum();
    gl_rightNumOrig = findRightBlackNum();

    /* gl_leftValueOrig and gl_rightValueOrig are only for SD print. */
    gl_leftValueOrig  = getLeftValue(gl_leftNumOrig);
    gl_rightValueOrig = getRightValue(gl_rightNumOrig);


//    if(ReadSwitch(0X40))
//    {
//        //judgeStartline();
//    }

    /* judge if it is crossline, set gl_crossline, otherwise clear gl_crossline. */
    judgeCrossline();

    if(!gl_crossline)
    {
        farSignalFilter();
    }
    else
    {
        gl_leftBlackNum = -1;
        gl_rightBlackNum = -1;
    }

   // farSignalFilter();

    s_leftBlackNumLast = gl_leftBlackNum;
    s_rightBlackNumLast = gl_rightBlackNum;

    /* gl_leftValue and gl_rightValue are only for SD print. */
    gl_leftValue = getLeftValue(gl_leftBlackNum);
    gl_rightValue = getRightValue(gl_rightBlackNum);

    gl_outType = judgeOutType();

    getHistorySignal();

    if(gl_crossline)
    {
        speaker_open(SPEAKER0);
    	//BUZZER_ON();
    }
    else
    {
        speaker_close(SPEAKER0);
    	//BUZZER_OFF();
    }
}
示例#3
0
文件: speaker.c 项目: chihchun/upm
// initialization in PWM mode
speaker_context speaker_init_pwm(int pin)
{
    speaker_context dev = NULL;
    if (!(dev = _common_init()))
        return NULL;

    dev->is_pwm = true;

    if (!(dev->pwm = mraa_pwm_init(pin)))
    {
        printf("%s: mraa_pwm_init() failed.\n", __FUNCTION__);
        speaker_close(dev);
        return NULL;
    }

    // set the default frequency to 1Khz
    dev->default_freq = 1000;

    return dev;
}
示例#4
0
文件: speaker.c 项目: chihchun/upm
// initialization in GPIO mode
speaker_context speaker_init(int pin)
{
    speaker_context dev = NULL;
    if (!(dev = _common_init()))
        return NULL;

    dev->is_pwm = false;

    if (!(dev->gpio = mraa_gpio_init(pin)))
    {
        printf("%s: mraa_gpio_init() failed.\n", __FUNCTION__);
        speaker_close(dev);
        return NULL;
    }

#if defined(UPM_PLATFORM_LINUX)
    // Would prefer, but not fatal if not available
    mraa_gpio_use_mmaped(dev->gpio, 1);
#endif // UPM_PLATFORM_LINUX

    mraa_gpio_dir(dev->gpio, MRAA_GPIO_OUT);

    return dev;
}
示例#5
0
int main(int argc, char **argv)
{
    uint8_t speaker_no = 0;
    uint8_t speaker_total_no = 2;
    uint8_t get_char = 0;
    uint8_t n = 0;
    ER speaker_msg = 0;

    /* 模块初始化 */
    // exc_init();                                          /* 中断初始化 */
    //sys_timer_init();                                    /* 系统时钟初始化 */
    speaker_init();                                      /* 蜂鸣器初始化 */
    light_init();
    //serial_initialize((intptr_t)(NULL));                 /* 初始化串口 */

    // printf("\n Welcome to k60 software platform! \n");

    while(1)
    {
        speaker_msg = speaker_close(SPEAKER0);
        light_open(LIGHT0);
    }
    //printf(" *** This is a test for speaker module! *** \n");

    // printf(" \n>>>> The speaker will be ringing! \n");
//        for(speaker_no = 0; speaker_no < speaker_total_no; speaker_no++)
//        {
//            delay(200);
//            switch (speaker_no)
//            {
//                case 0:
//                    speaker_msg = speaker_open(SPEAKER0);
//                    break;
//                case 1:
//                    speaker_msg = speaker_open(SPEAKER1);
//                    break;
//                default:
//                    //printf("The speaker number is error!\n");
//                    break;
//
//            }
//            if (speaker_msg == E_ID)
//            {
//                //printf(" The ID of speaker%d is error!\n", speaker_no);
//            }
//            else if (speaker_msg == E_ILUSE)
//            {
//               // printf(" The port of speaker%d is not open!\n", speaker_no);
//            }
//            else
//            {
//               // printf(" The speaker%d is ringing now!\n", speaker_no);
//            }
//        }
//
//        //printf(" \n>>>> The speaker will be not ringing! \n");
//        for (speaker_no = 0; speaker_no < speaker_total_no; speaker_no++)
//        {
//            delay(200);
//            switch (speaker_no)
//            {
//                case 0:
//                    speaker_msg = speaker_close(SPEAKER0);
//                    break;
//                case 1:
//                    speaker_msg = speaker_close(SPEAKER1);
//                    break;
//                default:
//                    //printf("The speaker number is error!");
//                    break;
//
//            }
//            if (speaker_msg == E_ID)
//            {
//               // printf(" The ID of speaker%d is error !\n", speaker_no);
//            }
//            else if (speaker_msg == E_ILUSE)
//            {
//                //printf(" The port of speaker%d is not open!\n", speaker_no);
//            }
//            else
//            {
//                //printf(" The speaker%d is not ringing now!\n", speaker_no);
//            }
//        }
//
//        //printf(" \n>>>> The speaker will change frequence! \n");
//
//        for(n=0;n<10;n++)
//        {
//            delay(10);
//            if(speaker_read(SPEAKER0))
//            {
//                speaker_close(SPEAKER0);
//            }
//            else
//            {
//                speaker_open(SPEAKER0);
//            }
//        }
//        for(n=0;n<10;n++)
//        {
//            delay(5);
//            if(speaker_read(SPEAKER0))
//            {
//                speaker_close(SPEAKER0);
//            }
//            else
//            {
//                speaker_open(SPEAKER0);
//            }
//        }
//        for(n=0;n<20;n++)
//        {
//            delay(1);
//            if(speaker_read(SPEAKER0))
//            {
//                speaker_close(SPEAKER0);
//            }
//            else
//            {
//                speaker_open(SPEAKER0);
//            }
//        }
//        for(n=0;n<10;n++)
//        {
//            delay(10);
//            if(speaker_read(SPEAKER0))
//            {
//                speaker_close(SPEAKER0);
//            }
//            else
//            {
//                speaker_open(SPEAKER0);
//            }
//        }
//        for(n=0;n<10;n++)
//        {
//            delay(20);
//            if(speaker_read(SPEAKER0))
//            {
//                speaker_close(SPEAKER0);
//            }
//            else
//            {
//                speaker_open(SPEAKER0);
//            }
//        }
//
//        speaker_close(SPEAKER0);
//       // printf(" \n>>>> A test for speaker module is over!\n");
//        while (1)
//        {
//           // printf(" \n>>>> Press 'n' to test once more.\n");
//            serial_rea_dat(NTSHELL_PORTID, &get_char, 1);
//
//            if (get_char == 'n')
//            {
//               // printf("Once more \n");
//                delay(200);
//                break;
//            }
//        }
//    }

}