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

 
 
> Считывание регистров, в контролллере LPC2478
argentum
сообщение Jul 12 2010, 11:35
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 26-04-09
Из: Москва
Пользователь №: 48 283



Скажите, пробовал кто-нибудь считывать регистры T0TC - T3TC у LPC2478?
Я всё время получаю нули!!!
А хотелось бы получить всё же истинное содержаение регистров.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
toweroff
сообщение Jul 12 2010, 21:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



в студию код инициализации, опроса... телепаты в отпуске

Сообщение отредактировал rezident - Jul 12 2010, 23:05
Причина редактирования: Ненужное цитирование.
Go to the top of the page
 
+Quote Post
argentum
сообщение Jul 13 2010, 07:04
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 26-04-09
Из: Москва
Пользователь №: 48 283



Цитата(toweroff @ Jul 13 2010, 01:36) *
в студию код инициализации, опроса... телепаты в отпуске

Да... Простите)))
В том-то всё и дело, что драйвер простой, и взят с сайта NXP
Код
/******************************************************************************
** Descriptions:        Initialize timer, set timer interval, reset timer,
**                        install timer interrupt handler
**
** parameters:            timer number and timer interval
** Returned value:        true or false, if the interrupt handler can't be
**                        installed, return false.
******************************************************************************/
DWORD timer_init(BYTE timer_num, DWORD TimerInterval)
{
  switch (timer_num)
  {
    case 0:
     timer0_counter = 0;
     //T0MR0 = TimerInterval;
     T0MR0 = TimerInterval * (Fpclk / 1000-1);
     T0MCR = 3;                /* Interrupt and Reset on MR0 */
     return install_irq( TIMER0_INT, (void *)Timer0Handler, HIGHEST_PRIORITY );

   case 1:
     timer1_counter = 0;
     //T1MR0 = TimerInterval;
     T1MR0 = TimerInterval * (Fpclk / 1000-1);
     T1MCR = 3;                /* Interrupt and Reset on MR1 */
     return install_irq( TIMER1_INT, (void *)Timer1Handler, HIGHEST_PRIORITY );

  case 2:
     timer2_counter = 0;
     //T1MR0 = TimerInterval;
     T2MR0 = TimerInterval * (Fpclk / 1000-1);
     T2MCR = 3;                /* Interrupt and Reset on MR1 */
     return install_irq( TIMER2_INT, (void *)Timer2Handler, HIGHEST_PRIORITY );

    case 3:
     timer3_counter = 0;
     //T1MR0 = TimerInterval;
     T3MR0 = TimerInterval * (Fpclk / 1000-1);
     T3MCR = 3;                /* Interrupt and Reset on MR1 */
     return install_irq( TIMER3_INT, (void *)Timer3Handler, HIGHEST_PRIORITY );

    default:
               return (FALSE);
  }
}


Ну а считать пытаюсь простым:
Код
a = T0TC;

Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:48
Рейтинг@Mail.ru


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