ZHCU032K December 2004 – August 2022 MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253 , MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2132-EP , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2252-Q1 , MSP430F2254 , MSP430F2272 , MSP430F2272-Q1 , MSP430F2274 , MSP430F2274-EP , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2201-Q1 , MSP430G2202 , MSP430G2203 , MSP430G2210 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2230 , MSP430G2231 , MSP430G2231-Q1 , MSP430G2232 , MSP430G2233 , MSP430G2252 , MSP430G2253 , MSP430G2302 , MSP430G2303 , MSP430G2312 , MSP430G2313 , MSP430G2332 , MSP430G2333 , MSP430G2352 , MSP430G2353 , MSP430G2402 , MSP430G2403 , MSP430G2412 , MSP430G2413 , MSP430G2432 , MSP430G2433 , MSP430G2444 , MSP430G2452 , MSP430G2453 , MSP430G2513 , MSP430G2533 , MSP430G2544 , MSP430G2553 , MSP430G2744 , MSP430G2755 , MSP430G2855 , MSP430G2955 , MSP430TCH5E
URXSE 位使能接收开始边缘检测功能。推荐的接收开始边沿功能的用法是,BRCLK 由 DCO 做源并且关闭 DCO,因为这是低功耗模式操作。DCO 的超高速打开使字符能在开始边沿检测后被接受。
当 URXSE,URXIEx 和 GIE 置位并且在 URXDx 上出现开始沿时,内部信号 URXS 被置位。 当 URXS 置位时,产生接收中断请求但 URXIFGx 没有置位。在接收中断服务程序中的用户软件可以测试 URXIFGx 来确定中断源。当 URXIFGx=0 时,检测到起始沿,当 URXIFGx=1 时,收到一个有效的字符(或中断)。
当 ISR 确定中断请求是从一个起始边缘发出时,用户软件切换 URXSE 从 ISR 返回到主动模式或者一个源是活动的低功率模式,并且必须使能 BRCLK 源。如果 ISR 返回到 BRCLK 源无效的低功耗模式,将无法接收字符。切换 URXSE 清除 URXS 信号,并为以后的字符重新使能开始边缘检测功能。更多关于进入和退出低功耗模式的信息请参阅《系统复位,中断和操作模式》章节。
现在活跃的的 BRCLK 允许 USART 接收平衡的字符。完整的字符被接收并移动到 UxRXBUF 后,URXIFGx 置位并再次发出中断服务请求。ISR 进入后,URXIFGx=1 表示一个字符被接收。U当用户软件读取 UxRXBUF 时,RXIFGx 标志被清除。
; Interrupt handler for start condition and
; Character receive.BRCLK = DCO.
U0RX_Int BIT.B #URXIFG0,&IFG1 ; Test URXIFGx to determine
JZ ST_COND ; If start or character
MOV.B &UxRXBUF,dst ; Read buffer
... ;
RETI ;
ST_COND BIC.B #URXSE,&U0TCTL ; Clear URXS signal
BIS.B #URXSE,&U0TCTL ; Re-enable edge detect
BIC #SCG0+SCG1,0(SP) ; Enable BRCLK = DCO
RETI ;
UART 时钟停止时的中断检测
使用接收开始边缘检测功能时,如果 BRCLK 源是关闭的,则不能检测到中断状态。