Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- Delay function.
- */
- void delay(unsigned int d) {
- int i;
- for (i = 0; i<d; i++) {
- nop();
- nop();
- }
- }
- //Normaler Arbeitsmodus
- // ACLK =12kHz
- // MCLK =7.3728MHz
- // SMCLK=7.3728MHz
- void onXT2Clock(void)
- {
- BCSCTL3 = LFXT1S_2; // set LFXT1 to VLOCLK
- BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;
- BCSCTL1 = DIVA_0 + 0x07/*+ RSEL_7*/; // XT2 On
- BCSCTL3 |= XT2S_2; // 3 - 16-MHz crystal or resonator
- do
- {
- IFG1&=~OFIFG;
- delay(5000);
- }
- while(IFG1 & OFIFG); //wait, while OFIFG is set
- delay(1024/7); // mind. 1024 Clock-Zyklen abwarten
- IFG1&=~OFIFG;
- //MCLK source is XT2, MCLK div is 1
- //SMCLK source is XT2, SMCLK div is 1
- BCSCTL2|= SELM_2 + DIVM_0 + SELS + DIVS_0;
- }
- //Normaler Arbeitsmodus
- // ACLK =12kHz
- // MCLK =1MHz
- // SMCLK=1MHz
- void defaultClock(void)
- {
- DCOCTL = 0x60;/*DCO_3* + MOD_0;*/
- BCSCTL1 = XT2OFF + DIVA_0 + 0x07/*+ RSEL_7*/;
- BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;
- BCSCTL3 = LFXT1S_2;
- }
- void initIO(void)
- {
- P3DIR = 0x5F; //P3 out, P3.5/P3.7 in
- P3SEL = 0x00; //P3 keine Functions
- //P3SEL2 = 0x00;
- P3OUT = 0x00; //P3 off
- P3REN = 0x00; //P3 kein Pu/Pd Resistor
- }
- /**
- Main function with some blinking leds
- */
- int main(void) {
- int i;
- int o = 0;
- char buf[100];
- WDTCTL = WDTPW|WDTHOLD; //Init watchdog timer
- onXT2Clock();
- initIO();
- P3DIR = P2DIR_INIT; //Init port direction register of port2
- for (i = 0;i<100;i++){
- if(i&1)
- buf[i] = 0;
- else
- buf[i] = 3;
- }
- // memset(buf,0xAA,100);
- while (1) { //main loop, never ends...
- for (i=0; i<8; i++, o++) {
- P3OUT = buf[i];
- delay(0x4fff);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement