您的位置 首页 编程

STM8S BEEP

C语言:Codee#12366/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++实验平台

C言语:Codee#12366

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 试验渠道 : ST 官方三合一套件
+ 硬件 : STM8S105S6T6C
+ 开发渠道 : IAR For STM8 1.10
+ 仿真器 : ST-Link
+ 日期 : 2010-7-30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#include “stm8s.h”

/*******************************************************************************
* ==启用外部晶振函数==
*******************************************************************************/
voidHSE_CLK_INIT(void)
{
CLK_DeInit();
CLK_HSECmd(ENABLE);
while(SET!=CLK_GetFlagStatus(CLK_FLAG_HSERDY));
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
CLK_ClockSwitchCmd(ENABLE);
CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
}

/*******************************************************************************
* ==BEEP初始化函数==
* BEEP_DeInit(); –> 蜂鸣器寄存器初始化
* BEEP_Init(BEEP_FREQUENCY_1KHZ); –> 蜂鸣器震动频率 1KHz
* BEEP_LSICalibrationConfig(LSI_FREQUENCY_MAX); –> LSI 规模为 100000 ~ 200000
*******************************************************************************/
voidBEEP_INIT(void)
{
BEEP_DeInit();
BEEP_Init(BEEP_FREQUENCY_1KHZ);
BEEP_LSICalibrationConfig(LSI_FREQUENCY_MAX);
}

/*******************************************************************************
* ==I/O口初始化函数==
*******************************************************************************/
voidPORTD_INIT(void)
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD,GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_SLOW);
}

/*******************************************************************************
* ==延时函数==
* 不是准确延时
*******************************************************************************/
voidDelay(unsignedintXms)
{
unsignedinti;
while(Xms–)
{
i=120;
while(i–);
}
}

/*******************************************************************************
* ==Main函数==
* 一定要修正Option Byte AFR7选项为BEEP
* 敞开BEEP后 体系一直运转着流水灯程序 证明蜂鸣器没有占用体系资源
*******************************************************************************/
voidmain(void)
{
HSE_CLK_INIT();// 敞开外部时钟
PORTD_INIT();// 初始化端口
BEEP_INIT();// 蜂鸣器初始化
BEEP_Cmd(ENABLE);// 使能蜂鸣器

while(1)
{
//==============流水灯==============//
GPIO_WriteReverse(GPIOD,GPIO_PIN_0);
Delay(2000);
GPIO_WriteReverse(GPIOD,GPIO_PIN_2);
Delay(2000);
GPIO_WriteReverse(GPIOD,GPIO_PIN_3);
Delay(2000);
//==============流水灯==============//
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/252198.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部