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
SCL 为高电平时,一个 STOP 条件是在 SDA 上的一个低电平到高电平的转换。为了完成确认位并且将 SDA 拉至低电平来为一个 STOP 条件生成做好准备,要求清除移位寄存器中的 MSB 并且将 1 载入 USICNTx。这将在低相位 SDA 被拉至低电平期间在 SCL 上生成一个低相位。由于模块处于主控模式,SCL 在闲置,或高电平状态中停止。为了产生从低电平到高电平的转换,在移位寄存器中设置 MSB,并且 USICNTx 加载 1。设置 USIGE 和 USIOE 位使得输出锁存透明,并且 USISRL 的 MSB 将 SDA 释放至闲置状态。清除 USIGE 将 MSB 存储在输出锁存中,并且通过清除 USIOE 来禁用输出。SDA 保持高电平,直到有一个外部上拉电阻器导致的 START 条件生成。
; Generate STOP
BIS.B #USIOE,&USICTL0 ; SDA=output
MOV.B #000h,&USISRL ; MSB = 0
MOV.B #001h,&USICNT ; USICNT = 1 for one clock
TEST_USIIFG
BIT.B #USIIFG,&USICTL1 ; Test USIIFG
JZ test_USIIFG ;
MOV.B #0FFh,&USISRL ; USISRL = 1 to drive SDA high
BIS.B #USIGE,&USICTL0 ; Transparent latch enabled
BIC.B #USIGE+USIOE,&USICTL; Latch/SDA output disabled
...continue...