Чт окт 05, 2017 18:44:00
AT91C_BASE_MC->MC0_FMR = ((AT91C_MC_FMCN & (48 << 16)) | AT91C_MC_FWS_1FWS);
AT91C_BASE_MC->MC1_FMR = ((AT91C_MC_FMCN & (48 << 16)) | AT91C_MC_FWS_1FWS);
AT91C_BASE_WDTC -> WDTC_WDMR = AT91C_WDTC_WDDIS;
pPMC->PMC_MOR = ((AT91C_CKGR_OSCOUNT & (0x06 << 8)) | AT91C_CKGR_MOSCEN);
while(!(pPMC -> PMC_SR & AT91C_PMC_MOSCS));
pPMC -> PMC_PLLR = ((AT91C_CKGR_DIV & (0x05 << 0)) | (AT91C_CKGR_PLLCOUNT & (28 << 8)) | (AT91C_CKGR_MUL & (25 <<16)));
while(!(pPMC->PMC_SR & AT91C_PMC_LOCK));
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
pPMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2;
while(!(pPMC -> PMC_SR & AT91C_PMC_MCKRDY));
pPMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK;
while(!(pPMC -> PMC_SR & AT91C_PMC_MCKRDY));
Чт окт 05, 2017 21:22:38
Вс окт 08, 2017 00:09:30
Вс окт 08, 2017 10:08:32
Ср окт 11, 2017 18:47:16
#include <Atmel\sam7s\AT91SAM7S512.h>
int main(void)
{
// Настройка флэш - банк 1
AT91C_BASE_MC->MC0_FMR = ((AT91C_MC_FMCN & (19 << 16)) | AT91C_MC_FWS_1FWS);
// Настройка флэш - банк 2
AT91C_BASE_MC->MC1_FMR = ((AT91C_MC_FMCN & (19 << 16)) | AT91C_MC_FWS_1FWS);
// Отключение WatchDog
AT91C_BASE_WDTC -> WDTC_WDMR |= AT91C_WDTC_WDDIS;
// Счетчик запуска кварца, включение кварца
AT91C_BASE_PMC->PMC_MOR = ((AT91C_CKGR_OSCOUNT & (0x06 << 8)) | AT91C_CKGR_MOSCEN);
while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));
// Выбираем источник тактирования - основной кварц
AT91C_BASE_PMC->PMC_MCKR = AT91C_PMC_CSS_MAIN_CLK;
while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
// Выбираем предделитель источника тактирования = 1
AT91C_BASE_PMC->PMC_MCKR |= AT91C_PMC_PRES_CLK;
while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
// Конфигурируем порт, выводим меандр
AT91PS_PMC pPMC = AT91C_BASE_PMC;
AT91PS_PIO m_pPio = AT91C_BASE_PIOA;
pPMC->PMC_PCER = 1 << AT91C_ID_PIOA;
m_pPio->PIO_PER = AT91C_PIO_PA3;
m_pPio->PIO_OER = AT91C_PIO_PA3;
m_pPio->PIO_CODR = AT91C_PIO_PA3;
while (1) {
m_pPio->PIO_CODR = AT91C_PIO_PA3;
m_pPio->PIO_SODR = AT91C_PIO_PA3;
};
}
AT91C_BASE_PMC->PMC_MOR = ((AT91C_CKGR_OSCOUNT & (0x06 << 8)) | AT91C_CKGR_MOSCEN);
Чт окт 12, 2017 10:47:54
Чт окт 12, 2017 21:01:25
// Счетчик запуска кварца, включение кварца
AT91C_BASE_PMC->PMC_MOR = ((AT91C_CKGR_OSCOUNT & (0x06 << 8)) | AT91C_CKGR_MOSCEN);
while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));
// Выбираем источник тактирования - основной кварц
AT91C_BASE_PMC->PMC_MCKR = AT91C_PMC_CSS_MAIN_CLK;
while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
// Выбираем предделитель источника тактирования = 1
AT91C_BASE_PMC->PMC_MCKR |= AT91C_PMC_PRES_CLK;
while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
// Счетчик запуска кварца, включение кварца
AT91C_BASE_PMC->PMC_MOR = ((AT91C_CKGR_OSCOUNT & (0x06 << 8)) | AT91C_CKGR_MOSCEN);
while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));
// Выбираем предделитель источника тактирования и источник тактирования - основной кварц
AT91C_BASE_PMC->PMC_MCKR = (AT91C_PMC_PRES_CLK | AT91C_PMC_CSS_MAIN_CLK);
while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
Чт окт 12, 2017 21:10:39
YS, еще раз величайшее за все мысли и оказанную помощь
Сб окт 14, 2017 18:21:26
#include <Atmel\sam7s\AT91SAM7S512.h>
int main(void)
{
AT91PS_PMC pPMC = AT91C_BASE_PMC;
AT91PS_PIO m_pPio = AT91C_BASE_PIOA;
AT91C_BASE_MC->MC0_FMR = AT91C_MC_FWS_0FWS;
pPMC->PMC_MOR = ((AT91C_CKGR_OSCOUNT & (0x06 << 8)) | AT91C_CKGR_MOSCEN);
while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS));
pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 0x5) | (AT91C_CKGR_PLLCOUNT & (28<<8)) | (AT91C_CKGR_MUL & (25<<16)));
while(!(pPMC->PMC_SR & AT91C_PMC_LOCK));
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
pPMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2;
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
pPMC->PMC_MCKR = AT91C_PMC_CSS_PLL_CLK;
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS;
pPMC->PMC_PCER = 1 << AT91C_ID_PIOA;
m_pPio->PIO_PER = AT91C_PIO_PA3;
m_pPio->PIO_OER = AT91C_PIO_PA3;
m_pPio->PIO_CODR = AT91C_PIO_PA3;
while (1) {
m_pPio->PIO_CODR = AT91C_PIO_PA3;
m_pPio->PIO_SODR = AT91C_PIO_PA3;
};
}
#include <Atmel\sam7s\AT91SAM7S512.h>
//#include <stdint.h>
int main(void)
{
AT91PS_PMC pPMC = AT91C_BASE_PMC;
AT91PS_PIO m_pPio = AT91C_BASE_PIOA;
pPMC->PMC_MOR = ((AT91C_CKGR_OSCOUNT & (0x06 << 8)) | AT91C_CKGR_MOSCEN);
while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS));
pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 0x5) | (AT91C_CKGR_PLLCOUNT & (28<<8)) | (AT91C_CKGR_MUL & (25<<16)));
while(!(pPMC->PMC_SR & AT91C_PMC_LOCK));
pPMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2 | AT91C_PMC_CSS_PLL_CLK;
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
pPMC->PMC_PCER = 1 << AT91C_ID_PIOA;
m_pPio->PIO_PER = AT91C_PIO_PA3;
m_pPio->PIO_OER = AT91C_PIO_PA3;
m_pPio->PIO_CODR = AT91C_PIO_PA3;
while (1) {
m_pPio->PIO_CODR = AT91C_PIO_PA3;
m_pPio->PIO_SODR = AT91C_PIO_PA3;
};
}
AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS;
AT91C_BASE_MC->MC0_FMR = AT91C_MC_FWS_0FWS;