Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено undefined 09 февраля 2003 г. 15:40
В ответ на: Ну прозевал, это так принципиально? Приведи тестовую програму и, я думаю, всё сразу станет ясно. отправлено -=Shura=- 09 февраля 2003 г. 15:30


void __low_level_init(void)
{

_DINT();
IE1 = 0;

/* ******************************************************************* */
/* ********************* Initialize I/O Ports ************************ */

// Initialize Port 1
P1OUT = PortValue_1;
P1DIR = PortDirect_1;
P1SEL = PortSelect_1;
// Initialize Port 2
P2OUT = PortValue_2;
P2DIR = PortDirect_2;
P2SEL = PortSelect_2;

/* ******************************************************************* */
/* **************************** BCM init ***************************** */

_BIC_SR(0
// | (1<<7) // SMCLK Enable
| (1<<6) // DCO Enable
| (1<<5) // LFXT1 Enable
| (1<<4) // MCLK Enable
);

_BIS_SR(0
| (1<<7) // SMCLK Disable
// | (1<<6) // DCO Disable
// | (1<<5) // LFXT1 Disable
// | (1<<4) // MCLK Disable
);

DCOCTL = 0
| (0<<5) // DCO: Frq (3 bits) (-+50%)
| (0<<0) // DCO: No division (5 bits) (0...+10%)
;

BCSCTL1 = 0
| (1<<7) // XT2 Disabling (*)
| (1<<6) // LFXT1 High Frq Mode (*)
| (2<<4) // ACLK Divisor (2 bits)
| (0<<0) // DCO: Frq (3 bits) (0,1...4 MHz)
;

BCSCTL2 = 0
| (0<<6) // MCLK Source (DCO, DCO, XT2(1), XT1)
| (3<<4) // MCLK Divisor (2 bits)
| (0<<3) // SMCLK Source (DCO, XT2(1))
| (3<<1) // SMCLK Divisor (2 bits)
;

do {
IFG1 &= ~OFIFG;
} while (IFG1 & OFIFG);
{
char delay_count;
for (delay_count = 0xff; delay_count != 0; delay_count--);
}
IFG1 &= ~OFIFG;

/* ******************************************************************* */
/* ************************* Timer A init **************************** */

TACTL = 0;

TACCTL0 = 0;
TACCTL1 = 0;
TACCTL2 = 0;

/* ******************************************************************* */
/* *************************** WDT init ****************************** */

WDTCTL = 0x5A88; // WDT Stopped

/* ******************************************************************* */
/* *************************** EEPROM init *************************** */

FCTL1 = 0x0A500;
FCTL3 = 0x0A510;

/* ******************************************************************* */
/* ******************** Other Interrupt init ************************* */

// No

/* ******************************************************************* */
/* ******************************************************************* */

}


void main(void)
{

for(;;) {

BCSCTL2 = 0
| (3<<6) // MCLK Source (DCO, DCO, XT2(1), XT1)
| (2<<4) // MCLK Divisor (2 bits)
| (1<<3) // SMCLK Source (DCO, XT2(1))
| (3<<1) // SMCLK Divisor (2 bits)
;

_BIC_SR(0
// | (1<<7) // SMCLK Enable
// | (1<<6) // DCO Enable
| (1<<5) // LFXT1 Enable
| (1<<4) // MCLK Enable
);

_BIS_SR(0
| (1<<7) // SMCLK Disable
| (1<<6) // DCO Disable
// | (1<<5) // LFXT1 Disable
// | (1<<4) // MCLK Disable
);
}
}


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru