是不是就是在接收的时候而且要同时保持显示。。这个不会写了,请高手指教下。。下面是我的先接收后显示程序
#define Remote_High() while(GPIOF->IDR&0x10) // 高电平等待
#define Remote_Low() while(!(GPIOF->IDR&0x10)) // 低电平等待
u16 Remote_Array[120];
u8 Remote_Rdy; // 脉冲个数
u16 flag200ms;
void Remote_Init (void)
{
CLK->ICKR |= CLK_ICKR_HSIEN;//内部高速时钟使能
GPIOF->DDR &=~0x10;
GPIOF->CR1 &=~0x10;//设置PF4浮空输入
Remote_High();
TIM1->CR1 |= TIM1_CR1_CEN;// 计数器使能
Remote_Low();
Remote_High(); // 等待一个脉冲宽度
Remote_Array[Remote_Rdy] =((u16)TIM1->CNTRH)CR1 &=~TIM1_CR1_CEN;
TIM1->EGR |= TIM1_EGR_UG; // 计数器清0
Remote_Rdy++;
while(Remote_Rdy == 114)
{
GPIOA->ODR |= 0x04; // 开启蜂鸣器电源
TIM5->CR1 |= TIM5_CR1_CEN;
Remote_Rdy = 0;
DelayMS(100);
flag200ms=0; // 控制自动风速的变化
while(GPIOF->IDR&0x10);
Show_ALL(); // 处理接收到得代码显示相应模块
GPIOA->ODR &=~0x02;// 开启蜂鸣器
}
}