1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

msp430g2xx2 wdt 05

1 117 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1
Dung lượng 1,67 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

The MSP430F21x1 will force a reset because it will not allow a fetch // from within the address range of the peripheral memory, as is seen by // return to the mainloop and LED flash.. //

Trang 1

//****************************************************************************** // MSP430G2xx2 Demo - Reset on Invalid Address fetch, Toggle P1.0

//

// Description: Toggle P1.0 by xor'ing P1.0 inside of a software loop that // ends with TAR loaded with 3FFFh - op-code for "jmp $" This simulates a code // error The MSP430F21x1 will force a reset because it will not allow a fetch // from within the address range of the peripheral memory, as is seen by

// return to the mainloop and LED flash

// In contrast, an MSP430F1xx device will "jmp $" stopping code execution with // no LED flash

// ACLK = n/a, MCLK = SMCLK = default DCO

//

// MSP430G2xx2

//

-// /|\|

XIN|-// | | |

// |RST

XOUT|-// | |

// | P1.0| >LED

//

// H Grewal / M Buccini

// Texas Instruments Inc

// December 2010

// Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10

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

#include <msp430g2452.h>

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer

P1DIR |= 0x01; // Set P1.0 to output direction TAR = 0x3FFF; // Opcode for "jmp $"

for (;;)

{

volatile unsigned int i;

P1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR

i = 50000; // Delay

do (i );

while (i != 0);

((void (*)())0x170)(); // Invalid fetch ("call #0170h") }

}

Ngày đăng: 26/12/2017, 07:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w