- #define beep_nor() -----
- #define beep_on() -----
- #define beep_off() -----
-
-
- typedef struct _BEEP
- {
- UINT8 MuteState;
- UINT8 BeepState;
- UINT8 BeepCount;
- UINT8 BeepOnTime;
- UINT8 BeepOffTime;
- UINT8 BeepWaitTime;
- UINT8 BeepRefresh;
- }BEEP_STRUCT;
-
-
-
-
-
- void beep(BEEP_STRUCT *beep, UINT8 n,UINT8 btime,UINT8 gtime)
- {
- if((beep->MuteState ==0)&&(n>0))
- {
- beep->BeepState = 1;
- beep->BeepCount = n;
- beep->BeepOnTime = btime;
- beep->BeepOffTime = gtime;
- beep->BeepWaitTime = 3*beep->BeepOnTime;
- }
- }
-
-
-
-
- void beep_deal(BEEP_STRUCT *beep)
- {
- if(beep->BeepState != 0){
- if(beep->BeepCount >0){
- if(beep->BeepWaitTime>0){
- beep->BeepWaitTime--;
- }
- else{
- beep->BeepWaitTime = 3*beep->BeepOffTime;
- beep->BeepState = 0;
- beep->BeepCount--;
- }
- }
- else{
- beep->BeepState = 0;
- }
- }
- else{
- if(beep->BeepCount>0){
- if(beep->BeepWaitTime>0){
- beep->BeepWaitTime--;
- }
- else{
- beep->BeepWaitTime = 3*beep->BeepOnTime;
- beep->BeepState = 1;
- }
- }
- }
-
- if(beep->BeepState !=0){
- beep_on();
- }
- else{
- beep_off();
- }
- }
一直以来,每次涉及到蜂鸣器等通用操作时,还是要重新写代码,缺少对代码可重用性的重视,从现在开始对这方面加以重视。
只需在一个较短定时处理中调用beep_deal()函数,在需要蜂鸣器提示的地方调用beep()即可。
---希望高手们多指点,偶写代码效率一般般,正在想法提高。
阅读(1723) | 评论(0) | 转发(0) |