int
ao_sleep(__xdata void *wchan)
{
- ao_interrupt_disable();
+ __critical {
ao_cur_task->wchan = wchan;
- ao_interrupt_enable();
+ }
ao_yield();
}
void
ao_start_scheduler(void)
{
- ao_timer_init();
- ao_adc_init();
- ao_beep_init();
- ao_led_init();
- ao_usb_init();
ao_cur_task_id = AO_NO_TASK;
ao_cur_task = NULL;