problēma USCI Receive Pārtraukums operācijas

L

Luniks

Guest
Hi visiem!

Es rakstu UART kodu sazināties starp MSP430-F2350 un manu PC, un man ir problēma ar Receive Pārtraukums operācijas.Šis ir mans kods:

Kods:# Ietvert <msp430x23x0.h>__interrupt neesošu USCI0RX_ISR (spēkā neesošs);par spēkā neesošu galvenais (spēkā neesošs)

(

neparakstīts char Tab [7] = (0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x21); / / ASCII kodu

neparakstīts int i;WDTCTL = WDTPW WDTHOLD; / / Stop WDT

BCSCTL1 = CALBC1_1MHZ; / / Set DCO

DCOCTL = CALDCO_1MHZ;

P3DIR | = 0x40; / / Set P3.6 uz izejas virzienā

P3OUT | = 0x40; / / P3.6 augsta līmeņa (atspējots UHF)P3SEL | = 0x30; / / P3.4, 5 = TXD USCI_A0 / RXD

UCA0CTL1 | = UCSSEL_2; / / SMCLK

UCA0BR0 = 0x68; / / 1MHz: 9600 Bauds

UCA0BR1 = 0x00;

UCA0MCTL = UCBRS0; / / Modulation UCBRSx = 1

UCA0CTL1 & = ~ UCSWRST; / / Inicializēt USCI valsts iekārta

IE2 | = UCA0RXIE; / / Ieslēgt USCI_A0 RX pārtraukt(i = 0; i <7; i ) //---- sūtīšana Hello!

(

bet (! (IFG2 & UCA0TXIFG));

UCA0TXBUF = Tab ;

)__bis_SR_register (LPM0_bits GIE); / / ievadiet LPM0, pārtrauc iespējots

)# Pragma vektors = USCIAB0RX_VECTOR

__interrupt neesošu USCI0RX_ISR (spēkā neesošs)

(

bet (! (IFG2 & UCA0TXIFG));

UCA0TXBUF = UCA0RXBUF; / / Sending saņemto raksturs

)

 
HI

Tas ir slikts programmēšanas veids, kā notiek, kamēr cilpa iekšpusē jūsu ISR rutīnas

Jūs varat ievietot SWITCH vai IF teikums

Jūs arī nepieciešamību ieviest gredzenu buferī izvairītos zaudēt datus

Visu labāko

Bobi
Mikrokontrolleru speciālists
 
Hi,

Paldies par jūsu padomiem ...Es piezīmes ^ ^.
Vai jums ir kādas idejas, kāpēc programma neapmeklē kas pārtrauc procedūru?

Sveicieni

 
uz augšu ...

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Loti laimīgs" border="0" />

!

Luniks.

 

Welcome to EDABoard.com

Sponsor

Back
Top