dtmfdecord.c

来自「一个完整的用用AVR单片机开发的电话交换机程序 希望对想学习AVR开发人」· C语言 代码 · 共 45 行

C
45
字号
#include "main.h"


unsigned char DTMF_Decode(unsigned char DTMF_NUM)
{
 unsigned char i;

 if (DTMF_NUM==1)
 {
     if(bit_is_clear(PINC,DTMF1_DV))  
	 {		
	 	i=mDTMF1_Pre;
	 	mDTMF1_Pre =0;
		return i;	 

	 }else
	 	{	 		
			SetBit(PORTC,EnDTMFCreate);
	 		nop();nop();nop();
			nop();nop();nop();
			mDTMF1_Pre=PINA & 0x0f;
	 		ClrBit(PORTC,EnDTMFCreate);
	 		return 0;
		}

 }else if (DTMF_NUM==2)
 {
     if(bit_is_clear(PINC,DTMF2_DV))  
	 {		
	 	i=mDTMF2_Pre;
	 	mDTMF2_Pre =0;
		return i;	 
	 }else
	 	{	 		
			SetBit(PORTC,EnDTMFCreate);
	 		nop();nop();nop();
			nop();nop();nop();
	 		mDTMF2_Pre= (PINA & 0xf0)>>4 ;     
	 		ClrBit(PORTC,EnDTMFCreate);
	 		return 0;
		}
  }
	return 0;
}

⌨️ 快捷键说明

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