ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
191341 Топик полностью
abivan (22.04.2010 10:23, просмотров: 249) ответил abivan на tnkernel pic24 "завис" в TmrTask
запустил прогу на 2-х приборах это виснет tn_sys_interrupt (_MI2C1Interrupt){ tn_queue_isend_polling(MSG_ADC_P, (void*)rgbData); _MI2C1IE=0; } это нет tn_sys_interrupt (_MI2C1Interrupt){ //tn_queue_isend_polling(MSG_ADC_P, (void*)rgbData); _MI2C1IE=0; } void ISR _T4Interrupt(void){ static int i, j; static BYTE bPhase, bData; ... case ADCPhaseReadData:{ if(i==arrsize(rgbData)){ /* EndOfConvertion) */ ADC_CLK=1; TMR4=0; bPhase=ADCPhaseStart; PR4=ADCELP_START_DELAY; _MI2C1IF=1; // send message(MSG_ADC_P, (void*)&ADCMsg) in _MI2C1IE=1; // tn_sys_interrupt(_MI2C1Interrupt) return; } .... } приемник loop { t_AdcErr rc; tn_rc = tn_queue_receive(MSG_ADC_P, (void**)&pAdcElpOut,OS_TIME(500)); ... tn_rc не анализируется, следовательно в одном приборе, который винет, работа по событию через 300ms а в том который не виснет, работа по таймауту 500ms Мысли будут?