void sendbit_high(void)
{
PWM_38K_on();
tim4_cnt_high = 56-10; ///计时0.56ms =560us
while(tim4_cnt_high != 0) ; //// 如果想让此等待语句定时精确,必须要让执行词语句独占cpu,在执行此语句时,可能会进入其他任务中,而是时间精度,大大降低,(但是调试中发现,执行此任务时,程序也会进入彼此任务级别低的任务中去,不知道为什么,另外执行OS_ENTER_CRITICAL();后,中断服务程序也会关闭,一直都不知道)
PWM_38K_off();
GPIO_ResetBits(PWM_GPIO, GPIO_Pin_1);////低电平输出
tim4_cnt_low = 168-10; ///低电平1680us
while(tim4_cnt_low != 0);
}
{
PWM_38K_on();
tim4_cnt_high = 56-10; ///计时0.56ms =560us
while(tim4_cnt_high != 0) ; //// 如果想让此等待语句定时精确,必须要让执行词语句独占cpu,在执行此语句时,可能会进入其他任务中,而是时间精度,大大降低,(但是调试中发现,执行此任务时,程序也会进入彼此任务级别低的任务中去,不知道为什么,另外执行OS_ENTER_CRITICAL();后,中断服务程序也会关闭,一直都不知道)
PWM_38K_off();
GPIO_ResetBits(PWM_GPIO, GPIO_Pin_1);////低电平输出
tim4_cnt_low = 168-10; ///低电平1680us
while(tim4_cnt_low != 0);
}