реклама на сайте
подробности

 
 
> RFM50 (Si1000) + SmaRTClock + ISR, нужна помощь
pepelats
сообщение Apr 29 2012, 11:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 20-01-10
Из: Томск
Пользователь №: 54 958



Здравствуйте

Решил обратиться сюда, т.к. сам уже все перепробовал и особого результата не добился.
Проблема такая:

Есть радиомодуль от HopeRF, который построен на базе Si1000. В этом Si1000 есть так называемый SmaRTClock для реализации часов реального времени.
Необходимо в заданный интервал (пускай будет раз в секунду) отправлять пакет с данными. Настраиваю обработчик прерывания INTERRUPT_RTC0ALARM и в нем делаю инкремент переменной и моргание светодиодом

Код
...
U8 __xdata Pktcnt;
...
INTERRUPT (RTC0ALARM_ISR, INTERRUPT_RTC0ALARM)
{
    LEDTX = !LEDTX;
    Pktcnt = (Pktcnt == 255 ) ? 0 : Pktcnt + 1;
    RTC_Alarm = 1;
}


в основном теле программы я по событию отправляю некий пакет в котором передаю значение переменной Pktcnt

Код
...
U8 __xdata RxBuffer[64];
U8 __xdata TxBuffer[64];
...

void main (void)
{

    while (1) {
        PCON |= 0x01;                    // Enter Idle mode
        PCON = PCON;                   // Safety dummy instruction
      
        if(RTC_Alarm) {
            RTC_Alarm = 0;                
            TxBuffer[0] = Pktcnt;
            TxBuffer[1] = 0;
            TxBuffer[2] = 0;
            TxBuffer[3] = 0;
            TxBuffer[4] = 0;
            rtPhyTx( 5, TxBuffer );
        }
   }
}


по идее я должен на приемной стороне каждую секунду получать пакеты где значение Pktcnt каждый раз увеличивается на 1. Но ну тут то было. Светодиод моргает как положено раз в секунду. Пакеты тоже приходят раз в секунду, но значение поля меняется нифига не на 1. Изменяться оно может на 6 на 7. По разному бывает. Т.е. получаю в пакете 1, потом 7, потом 13 и т.д.
Мой мозг отказывается это понимать smile3046.gif

Помогите пожалуйста разобраться в этих "чудесах" . help.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 22:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016