(1)main()函数中:
int BeeTime=0;
int soundSta=0;
void main()
{
TIM2_Init();
soundBee(1);//长响一声
soundBee(0);//短响一声
}
void TIM2_Init()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
TIM_TimeBaseStructure.TIM_Period = (TIM_CLK / 200000) - 1;
TIM_TimeBaseStructure.TIM_Prescaler = 1999;
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_SetAutoreload(TIM2, ((TIM_CLK / 200000) - 1));
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); // 打开捕获比较中断 TIM_IT_Update
TIM_Cmd(TIM2, ENABLE); //开启时钟
}
/***********************
功能:蜂鸣器启动
sta:1为成功,0为失败
***********************/
void soundBee(int sta)
{
DOOR_PWR1(1);
if(sta==1)
{
soundSta=0;
BeeTime = 80;
}else{
soundSta=1;
BeeTime = 20;
}
}
(2)hardware_conf.h函数中:
#define DOOR_PWR1(tmp) GPIOA->ODR=tmp?(GPIOA->ODR|1<<1):(GPIOA->ODR&(~(1<<1))) //蜂鸣器
(3)stm32f10x_it.c函数中:
extern int BeeTime;
void TIM2_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
if(BeeTime<0)
{
BeeTime++;
if(BeeTime==0)
{
DOOR_PWR1(1);
BeeTime=20;
}
}
if(BeeTime>0||soundSta==2)
{
if(BeeTime>0) BeeTime--;
if(BeeTime==0)
{
if(soundSta==0)
{
DOOR_PWR1(0);
}
else if(soundSta==1)
{
DOOR_PWR1(0);
BeeTime=-10;
soundSta=2;
}
else
{
DOOR_PWR1(0);
soundSta=0;
}
}
}
}
else if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)
{
TIM_ClearITPendingBit(TIM2, TIM_IT_CC1);
}
}
上一篇:STM32F030控制LED
下一篇:STM32延时函数的四种方法
推荐阅读
史海拾趣
随着业务的迅速增长,Astema意识到供应链管理的重要性。公司开始优化供应链管理流程,提高生产效率和产品质量。同时,Astema还与供应商建立了紧密的合作关系,确保原材料供应的稳定性和可靠性。这些举措使得Astema在激烈的市场竞争中保持了稳定的运营。
为了进一步扩大市场份额,Chip Supply Micro Devices制定了国际化战略。公司积极开拓海外市场,通过参加国际电子展会、建立海外销售网络等方式,将产品推向全球。同时,公司还针对不同国家和地区的市场需求,推出了定制化的产品解决方案。这些努力使得Chip Supply Micro Devices在国际市场上获得了良好的口碑和业绩。
随着时间的推移,Harris公司逐渐与国防工业建立了紧密的联系。在二战及随后的冷战时期,Harris为军事机构提供了大量的通信设备和技术支持,包括雷达系统、导航系统以及加密通信设备等。这些技术不仅帮助军队在战场上保持高效的通信能力,还极大地提升了国家的国防安全水平。Harris在国防领域的卓越表现,进一步巩固了其在电子行业中的领先地位。
随着汽车行业的竞争日益激烈,奥斯汀汽车开始寻求与其他公司的技术合作。1952年,奥斯汀与诺菲尔德车厂合并,组成了英国汽车公司(BMC),旗下包括莫里斯、沃尔斯利、莱利及MG等多个品牌。此外,奥斯汀汽车还积极与国际汽车公司展开合作,如与日产汽车在1952年签署了技术合作协议,共同开发新的车型。这些合作使得奥斯汀汽车的技术水平得到了显著提升,同时也推动了公司的国际化发展。
在电子通信技术的浪潮中,EF Johnson Technologies Inc公司凭借其卓越的研发团队,成功开发出一款新型无线通信设备,该设备在信号稳定性和传输距离上均取得了重大突破。这一技术突破不仅让EF Johnson在市场上获得了显著的竞争优势,也推动了整个行业的技术进步。随着产品的广泛应用,EF Johnson逐渐确立了其在无线通信领域的领先地位。
2013年,FTDI推出了最新的嵌入式视频引擎(EVE)技术产品。这项技术将高度先进的图形控制器、显示器、音频和触摸功能集成到单一芯片中,为智能显示器的实施提供了高效、便捷的解决方案。这一创新不仅提升了FTDI在嵌入式系统领域的竞争力,也为公司在智能家居、工业自动化等多个领域的市场拓展提供了有力支持。
本帖最后由 paulhyde 于 2014-9-15 03:56 编辑 搜集整理了一下03年至07年最近三届全国大学生电子设计竞赛的题目,大家准备竞赛的时候可以看一下!特别注意分类汇总哈~~~~ 这些可就是传说中的真题哦!! … 查看全部问答∨ |
|
在PB6.0下想通过ETHERNET下载NK.BIN文件,开发板是imx35。开发板上EBOOT发送SEND ME UDP包正常,在vs.net2005中 Connectivity options中得Active target devices中也能看到开发板的名称。可是ATTACH连接设备时却没有反应,输出 如下: PB Debu ...… 查看全部问答∨ |
本人已年過三十,從事軟件開發有十年時間了.期間經歷了各種語言和開發模式的變遷. 歷經艱辛,目前是一家軟件公司的項目負責人. 主要從事的企業管理類軟件的開發. 深感企業類軟件開發的艱辛,客戶變更,各種無理要求,開發人員管理的困難. 近日心灰意 ...… 查看全部问答∨ |
我现在在EBOOT中要实现一个中断,我是按照USB中断来做的,可以进中断,但是中断执行完后,不能返回到原来进中断的地方执行程序,不知道什么原因??高手帮忙看下 中断初始化程序: pISR_iic =(unsigned)(0xEA000000)+( ...… 查看全部问答∨ |
OEMVerifyMemory: dwStartAddr=0x0, dwLength=0x0 为什么dwLength的长度会是0 ,和实际下载的不一样,有哪位大哥知道这是什么原因呀… 查看全部问答∨ |
新的库产生的代码明显减小但是对比源码看,相对2.x并没有多少改动,最后发现效率来源于ST对库的架构做了优化stm32f10x_conf.h 中可以看到一部分以前是一堆宏定义,自己开关现在时自己控制对include的开关中断向量映射ISR程序:以前是所有 ...… 查看全部问答∨ |
|