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

 
 
> at91, помогите разобраться
i.dmitry
сообщение Aug 15 2008, 19:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 8-07-07
Пользователь №: 28 963



Помогите разобраться, пожалуйста.

в Header AT91SAM7S256.h файле написано:
Код
typedef struct _AT91S_PMC {
    AT91_REG     PMC_SCER;     // System Clock Enable Register
    AT91_REG     PMC_SCDR;     // System Clock Disable Register
    AT91_REG     PMC_SCSR;     // System Clock Status Register
    AT91_REG     Reserved0[1];     //
    AT91_REG     PMC_PCER;     // Peripheral Clock Enable Register
    AT91_REG     PMC_PCDR;     // Peripheral Clock Disable Register
    AT91_REG     PMC_PCSR;     // Peripheral Clock Status Register
    AT91_REG     Reserved1[1];     //
    AT91_REG     PMC_MOR;     // Main Oscillator Register
    AT91_REG     PMC_MCFR;     // Main Clock  Frequency Register
    AT91_REG     Reserved2[1];     //
    AT91_REG     PMC_PLLR;     // PLL Register
    AT91_REG     PMC_MCKR;     // Master Clock Register
    AT91_REG     Reserved3[3];     //
    AT91_REG     PMC_PCKR[3];     // Programmable Clock Register
    AT91_REG     Reserved4[5];     //
    AT91_REG     PMC_IER;     // Interrupt Enable Register
    AT91_REG     PMC_IDR;     // Interrupt Disable Register
    AT91_REG     PMC_SR;     // Status Register
    AT91_REG     PMC_IMR;     // Interrupt Mask Register
} AT91S_PMC, *AT91PS_PMC;


далее ниже
Код
#define AT91C_BASE_PMC       ((AT91PS_PMC)     0xFFFFFC00) // (PMC) Base Address


в программе:
Код
    AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP;


правильно ли я понял, что AT91PS_PMC - указатель на структуру_AT91S_PMC.
AT91C_BASE_PMC - ее начальный адресс,
строчка в программе означает, в регистр PMC_SCER (по адресу AT91C_BASE_PMC + 5*AT91_REG) записать значение AT91C_PMC_UDP?

-----------------
теперь файл: lib_AT91SAM7S256.h

Код
__inline unsigned int AT91F_AIC_ConfigureIt (
    AT91PS_AIC pAic,  // \arg pointer to the AIC registers
    unsigned int irq_id,     // \arg interrupt number to initialize
    unsigned int priority,   // \arg priority to give to the interrupt
    unsigned int src_type,   // \arg activation and sense of activation
    void (*newHandler) () ) // \arg address of the interrupt handler
{
    unsigned int oldHandler;
    unsigned int mask;

    oldHandler = pAic->AIC_SVR[irq_id];

    mask = 0x1 << irq_id;
    //* Disable the interrupt on the interrupt controller
    pAic->AIC_IDCR = mask;
    //* Save the interrupt handler routine pointer and the interrupt priority
    pAic->AIC_SVR[irq_id] = (unsigned int) newHandler;
    //* Store the Source Mode Register
    pAic->AIC_SMR[irq_id] = src_type | priority;
    //* Clear the interrupt on the interrupt controller
    pAic->AIC_ICCR = mask;

    return oldHandler;
}


как компилятор узнает адрес регистра AIC_IDCR?
Код
pAic->AIC_IDCR = mask;


ведь pAic это есть AT91PS_AIC, но на какой начальный адрес он указывает НЕТ в библиотеке
Код
typedef struct _AT91S_AIC {
    AT91_REG     AIC_SMR[32];     // Source Mode Register
    AT91_REG     AIC_SVR[32];     // Source Vector Register
    AT91_REG     AIC_IVR;     // IRQ Vector Register
    AT91_REG     AIC_FVR;     // FIQ Vector Register
    AT91_REG     AIC_ISR;     // Interrupt Status Register
    AT91_REG     AIC_IPR;     // Interrupt Pending Register
    AT91_REG     AIC_IMR;     // Interrupt Mask Register
    AT91_REG     AIC_CISR;     // Core Interrupt Status Register
    AT91_REG     Reserved0[2];     //
    AT91_REG     AIC_IECR;     // Interrupt Enable Command Register
    AT91_REG     AIC_IDCR;     // Interrupt Disable Command Register
    AT91_REG     AIC_ICCR;     // Interrupt Clear Command Register
    AT91_REG     AIC_ISCR;     // Interrupt Set Command Register
    AT91_REG     AIC_EOICR;     // End of Interrupt Command Register
    AT91_REG     AIC_SPU;     // Spurious Vector Register
    AT91_REG     AIC_DCR;     // Debug Control Register (Protect)
    AT91_REG     Reserved1[1];     //
    AT91_REG     AIC_FFER;     // Fast Forcing Enable Register
    AT91_REG     AIC_FFDR;     // Fast Forcing Disable Register
    AT91_REG     AIC_FFSR;     // Fast Forcing Status Register
} AT91S_AIC, *AT91PS_AIC;


спасибо

Сообщение отредактировал i.dmitry - Aug 15 2008, 19:10
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- i.dmitry   at91   Aug 15 2008, 19:08
- - aaarrr   Цитата(i.dmitry @ Aug 15 2008, 23:08) пра...   Aug 15 2008, 19:32
|- - defunct   Цитата(aaarrr @ Aug 15 2008, 22:32) P.S. ...   Aug 16 2008, 22:32
|- - aaarrr   Цитата(defunct @ Aug 17 2008, 02:32) А ес...   Aug 16 2008, 22:44
|- - defunct   ЦитатаСкажите, а форум мне покажет тело функции пр...   Aug 16 2008, 23:00
|- - aaarrr   Цитата(defunct @ Aug 17 2008, 03:00) Копи...   Aug 16 2008, 23:27
|- - defunct   Цитата(aaarrr @ Aug 17 2008, 02:27) В сво...   Aug 16 2008, 23:49
|- - aaarrr   Цитата(defunct @ Aug 17 2008, 03:49) Это ...   Aug 17 2008, 00:09
|- - defunct   Цитата(aaarrr @ Aug 17 2008, 03:09) ...да...   Aug 17 2008, 00:42
|- - aaarrr   Цитата(defunct @ Aug 17 2008, 04:42) Не п...   Aug 17 2008, 09:52
- - injen-d   ЦитатаВзгляните на это с т.з. человека который в г...   Aug 17 2008, 10:20
|- - aaarrr   Цитата(injen-d @ Aug 17 2008, 14:20)...   Aug 17 2008, 10:41
||- - injen-d   Цитата(aaarrr @ Aug 17 2008, 14:41) По-мо...   Aug 17 2008, 13:05
||- - aaarrr   Цитата(injen-d @ Aug 17 2008, 17:05)...   Aug 17 2008, 13:18
||- - injen-d   Цитата(aaarrr @ Aug 17 2008, 17:18) Если ...   Aug 17 2008, 14:31
|- - zltigo   Цитата(injen-d @ Aug 17 2008, 12:20)...   Aug 17 2008, 14:01
|- - injen-d   Цитата(zltigo @ Aug 17 2008, 18:01) Ну в ...   Aug 17 2008, 14:54
- - SpiritDance   Мне схемотехник еще со старой работы сказал что ко...   Aug 17 2008, 14:45
|- - zltigo   Цитата(SpiritDance @ Aug 17 2008, 16:45) ...   Aug 17 2008, 20:58
- - aaarrr   Цитата(injen-d @ Aug 17 2008, 18:31)...   Aug 17 2008, 15:00
|- - defunct   Цитата(aaarrr @ Aug 17 2008, 18:00) Для м...   Aug 17 2008, 16:19
|- - aaarrr   Цитата(defunct @ Aug 17 2008, 20:19) Не п...   Aug 17 2008, 16:30
|- - defunct   Цитата(aaarrr @ Aug 17 2008, 19:30) Если ...   Aug 17 2008, 17:22
- - sergeeff   Ну я бы еще отметил следующие. Atmel, особенно в п...   Aug 17 2008, 17:25
- - aaarrr   Цитата(defunct @ Aug 17 2008, 21:22) Ипро...   Aug 17 2008, 18:15
- - sergeeff   Я считал, что "разумное использование возможн...   Aug 18 2008, 06:44
|- - zltigo   Цитата(sergeeff @ Aug 18 2008, 08:44) Я с...   Aug 18 2008, 07:47
- - aaarrr   Еще один показательный пример для любителей lib_A...   Aug 18 2008, 09:54
|- - sergeeff   Цитата(aaarrr @ Aug 18 2008, 13:54) Еще о...   Aug 18 2008, 12:13
||- - aaarrr   Цитата(sergeeff @ Aug 18 2008, 16:13) Нор...   Aug 18 2008, 12:21
|- - SergeiCh   По мне структуры хороши хотя бы тем, что при отлад...   Aug 18 2008, 12:19
|- - zltigo   Цитата(SergeiCh @ Aug 18 2008, 14:19) По ...   Aug 18 2008, 12:48
||- - SergeiCh   Цитата(zltigo @ Aug 18 2008, 19:48) А смо...   Aug 18 2008, 13:57
||- - zltigo   Цитата(SergeiCh @ Aug 18 2008, 15:57) Но ...   Aug 18 2008, 14:15
||- - aaarrr   Цитата(zltigo @ Aug 18 2008, 18:15) Зато ...   Aug 18 2008, 14:21
||- - zltigo   Цитата(aaarrr @ Aug 18 2008, 16:21) после...   Aug 18 2008, 14:25
|||- - aaarrr   Цитата(zltigo @ Aug 18 2008, 18:25) А иде...   Aug 18 2008, 14:30
||- - defunct   Цитата(aaarrr @ Aug 18 2008, 17:21) Ну, н...   Aug 18 2008, 20:40
||- - aaarrr   Цитата(defunct @ Aug 19 2008, 00:27) Не о...   Aug 18 2008, 20:55
||- - zltigo   Цитата(defunct @ Aug 18 2008, 22:40) Не о...   Aug 18 2008, 21:05
|- - Сергей Борщ   Цитата(SergeiCh @ Aug 18 2008, 15:19) По ...   Aug 20 2008, 10:12
|- - injen-d   Цитата(Сергей Борщ @ Aug 20 2008, 14:12) ...   Aug 20 2008, 16:51
||- - Сергей Борщ   Цитата(injen-d @ Aug 20 2008, 19:51)...   Aug 20 2008, 16:58
|- - SergeiCh   Цитата(Сергей Борщ @ Aug 20 2008, 17:12) ...   Aug 21 2008, 07:05
|- - SergeiCh   И как правильно заметил zltigo, не все регистры од...   Aug 21 2008, 08:38
- - zltigo   Причем о качестве написания библиотек тоже можно п...   Aug 18 2008, 12:36
|- - AHTOXA   Цитата(zltigo @ Aug 18 2008, 18:36) Что-т...   Aug 18 2008, 12:44
- - defunct   zltigo и aaarrr Я там выше прикрепил рисунок. Собс...   Aug 18 2008, 21:07
|- - zltigo   Цитата(defunct @ Aug 18 2008, 23:07) ..и ...   Aug 18 2008, 21:40
|- - defunct   Цитата(zltigo @ Aug 19 2008, 00:40) Нет,н...   Aug 18 2008, 21:50
- - zltigo   Цитатаzltigo и aaarrr Я там выше прикрепил рисунок...   Aug 18 2008, 21:30
|- - defunct   Цитата(zltigo @ Aug 19 2008, 00:30) Проси...   Aug 18 2008, 21:36
|- - zltigo   Цитата(defunct @ Aug 18 2008, 23:36) Драс...   Aug 18 2008, 21:57
|- - aaarrr   Цитата(zltigo @ Aug 19 2008, 01:54) Зачем...   Aug 18 2008, 21:57
||- - zltigo   Цитата(aaarrr @ Aug 18 2008, 23:57) А тут...   Aug 18 2008, 22:06
|- - defunct   Цитата(zltigo @ Aug 19 2008, 00:54) Вы по...   Aug 18 2008, 21:58
|- - aaarrr   Цитата(defunct @ Aug 19 2008, 01:58) Если...   Aug 18 2008, 22:02
||- - defunct   Цитата(aaarrr @ Aug 19 2008, 01:02) Нет, ...   Aug 18 2008, 22:09
||- - aaarrr   Цитата(defunct @ Aug 19 2008, 02:09) Насч...   Aug 18 2008, 22:15
||- - defunct   Цитата(aaarrr @ Aug 19 2008, 01:15) Какой...   Aug 18 2008, 22:40
||- - aaarrr   Цитата(defunct @ Aug 19 2008, 02:29) Вот ...   Aug 18 2008, 22:40
|||- - defunct   Цитата(aaarrr @ Aug 19 2008, 01:40) А это...   Aug 18 2008, 22:50
|||- - aaarrr   Цитата(defunct @ Aug 19 2008, 02:50) Фраз...   Aug 18 2008, 23:03
|||- - defunct   Цитата(aaarrr @ Aug 19 2008, 02:03) ОК. И...   Aug 18 2008, 23:19
|||- - aaarrr   Цитата(defunct @ Aug 19 2008, 03:19) нет ...   Aug 18 2008, 23:32
|||- - defunct   Цитата(aaarrr @ Aug 19 2008, 02:32) Стран...   Aug 18 2008, 23:57
|||- - aaarrr   Цитата(defunct @ Aug 19 2008, 03:57) Там ...   Aug 19 2008, 00:09
|||- - defunct   Цитата(aaarrr @ Aug 19 2008, 03:09) но пр...   Aug 19 2008, 00:17
||- - zltigo   Цитата(defunct @ Aug 19 2008, 00:40) Как ...   Aug 18 2008, 22:52
||- - defunct   Цитата(zltigo @ Aug 19 2008, 01:52) Тфу, ...   Aug 18 2008, 23:01
||- - zltigo   Цитата(defunct @ Aug 19 2008, 01:01) Быва...   Aug 18 2008, 23:24
|- - zltigo   Цитата(defunct @ Aug 18 2008, 23:58) т.е....   Aug 18 2008, 22:10
|- - defunct   Цитата(zltigo @ Aug 19 2008, 01:10) pNAME...   Aug 18 2008, 22:16
|- - zltigo   Цитата(defunct @ Aug 19 2008, 00:16) это ...   Aug 18 2008, 22:28
- - aaarrr   Цитата(zltigo @ Aug 19 2008, 01:05) Челов...   Aug 18 2008, 21:52
- - sergeeff   Я бы несколько по-другому поставил вопрос. Полезно...   Aug 19 2008, 05:52
|- - SergeiCh   Цитата(sergeeff @ Aug 19 2008, 12:52) Пол...   Aug 19 2008, 06:40
- - aaarrr   Тем, кто имеет слабость лениться думать самостояте...   Aug 19 2008, 06:15
|- - zltigo   Цитата(aaarrr @ Aug 19 2008, 08:15) Тем, ...   Aug 19 2008, 08:52
|- - defunct   Цитата(zltigo @ Aug 19 2008, 11:52) это е...   Aug 19 2008, 10:34
|- - aaarrr   Цитата(defunct @ Aug 19 2008, 14:34) Каче...   Aug 19 2008, 11:19
||- - defunct   Цитата(aaarrr @ Aug 19 2008, 14:19) По по...   Aug 19 2008, 12:18
||- - aaarrr   Цитата(defunct @ Aug 19 2008, 16:18) Прав...   Aug 19 2008, 12:34
|- - zltigo   Цитата(defunct @ Aug 19 2008, 12:34) inli...   Aug 19 2008, 12:42
|- - defunct   Цитата(zltigo @ Aug 19 2008, 15:42) Не со...   Aug 20 2008, 00:09
|- - zltigo   Цитата(defunct @ Aug 20 2008, 02:09) Вопр...   Aug 20 2008, 09:26
- - asket   Работаю в Crossworks, хотелось бы поработать с lib...   Aug 19 2008, 07:53
- - aaarrr   Цитата(asket @ Aug 19 2008, 11:53) Работа...   Aug 19 2008, 08:36


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

 


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


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