MSP430I2C模块寄存器文档格式.docx
《MSP430I2C模块寄存器文档格式.docx》由会员分享,可在线阅读,更多相关《MSP430I2C模块寄存器文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
![MSP430I2C模块寄存器文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/20/338c1394-e352-42f5-b03c-49e5e6720f38/338c1394-e352-42f5-b03c-49e5e6720f381.gif)
I2C预分频器I2CPSC读/写073h
I2CSCL高I2CSCLH读/写074h
I2CSCL低I2CSCLL读/写075h
I2C数据I2CDRW/I2CDRB读/写076h
I2C自己的地址I2COA读/写0118h
I2C从地址I2CSA读/写011Ah
I2C中断向量I2CIV只读011Ch
U0CTL,UART0控制寄存器,I2C模式
7654
3210
RXDMAEN
TXDMAEN
I2C
XA
LISTEN
SYNC
MST
I2CEN
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−1
RXDMAEN第7位接收DMA能。
该位使DMA控制器用于传输数据的I2C模块后I2C模块接收数据。
当RXDMAEN=1,RXRDYIE被忽略。
0禁止
1启用
TXDMAEN位6发送DMA能。
该位使DMA控制器可以用于提供数据给用于传输的I2C模块。
当TXDMAEN=1,TXRDYIE,
被忽略。
I2C位5I2C模式使能。
该位选择I2C或SPI操作时,
SYNC=1。
0SPI模式
1I2C模式
XA位4扩展寻址
07位寻址
110位寻址
LISTEN位3收听。
此位选择回送模式。
当MST=1和I2CTRX=1(主发射器)LISTEN才有效,。
0正常模式
1SDA在内部反馈到接收器(回环)。
SYNC2位同步模式使能
0UART模式
1SPI或I2C模式
MST1位该位选择主或从模式。
当仲裁失败或产生一个STOP信号,MST位自动清零。
0从模式
1主模式
I2CEN位0I2C使能。
该位允许或禁止I2C模块。
初始状态此位被置位,并为UART或SPISWRST功能。
当I2C和SYNC位在PUC后被置位,此位为I2CEN功能,且自动清零。
0I2C操作被禁止
1I2C操作已启用
I2CTCTL,I2C发送控制寄存器
I2CWORD
I2CRM
I2CSSELx
I2CTRX
I2CSTB
I2CSTP
I2CSTT
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
I2CWORD第7位I2C字模式。
选择用于I2C数据寄存器字节或字模式。
0字节模式
1字模式
I2CRM第6位I2C重复模式
0I2CNDAT限定传输的字节的数目。
1发送的字节数由软件控制。
I2CNDAT是未使用的。
I2CSSELx5-4位I2C时钟源选择。
当MST=1和仲裁丢失,外部SCL
信号自动使用。
00无时钟-I2C模块无效
01ACLK
10SMCLK
11SMCLK
I2CTRX第3位I2C传输。
当MST=1时,该位选择发送或接收功能。
当MST=0时,地址字节的R/W位定义数据的方向。
从机模式,I2CTRX必须复位。
0接收模式。
SDA引脚上接收数据。
1发送模式。
SDA引脚上传输的数据。
I2CSTB2位起始字节。
当MST=1,I2CSTT=1启动一个起始字节时,设置I2CSTB位。
起始字节开始后,I2CSTB自动清零。
0:
无动作
1:
发送启动条件和起始字节(01H),但没有停止条
件。
I2CSTP1位停止位。
此位是用来生成停止条件。
在启动STOP信号后,
I2CSTP自动清零。
发送停止条件
I2CSTT位0START位。
此位是用来产生一个启动条件。
在启动START信号后之后,I2CSTT自动清零。
发送启动条件
I2CDCTL,I2C数据控制寄存器
Unused
I2CBUSY
I2CSCLLOW
I2CSBD
I2CTXUDF
I2CRXOVR
I2CBB
r0r0r−0r−0r−0r−0r−0r−0
Unused7-6位没用过。
总是读为0。
I2CBUSY位5I2C忙
0I2C模块空闲
1I2C模块不闲着
I2CSCLLOW4位I2CSCL低。
该位指示,从机保持SCL线为低,MSP430的是主机和从机模式下使用。
。
0SCL没有被保持低
1SCL被保持低电平
I2CSBD位3I2C单字节数据。
该位指示接收寄存器I2CDRW持有一
个字或一个字节。
I2CWORD=1时,I2CSBD才有效
0一个完整的字接收
1只有在I2CDR的低字节有效
I2CTXUDF2位I2C发送下溢
0未发生溢
1发送下溢发生
I2CRXOVR位1I2C接收溢出
0未收到发生溢出
1接收器溢出发生
I2CBB位0I2C总线忙位。
I2C总线忙位。
START条件设置I2CBB为1。
I2CBB由STOP条件或当I2CEN=0复位。
0I2C总线不忙
1I2C总线忙
I2CDRW,I2CDRB,I2C数据寄存器
15141312111098
I2CDRWHighByte
76543210
I2CDWLowByte
I2CDRB
I2CDRW/I2CDRB15-8位I2C数据。
当I2CWORD=1,登记的名字是
I2CDRW。
当I2CWORD=0,名称是I2CDRB。
当I2CWORD=1,任何试图修改一个字节指
令寄存器将失败,寄存器不会被更新。
I2CNDAT,I2C传输字节计数寄存器
I2CNDATx
I2C数据位7-0字节数I2C。
该寄存器支持主模式下自动数据字节计数。
在字模式下,I2C数据必须是偶数值。
I2CPSC,I2C时钟预注册
7
6
5
4
3
2
1
I2CPSCx
rw−0
I2CPSCx位7-0I2C时钟分频器。
I2C时钟输入I2CIN由输入时钟除以I2CPSCx值产生内部I2C时钟频率。
分频率I2CPSCx+1。
不推荐I2CPSCx值>
4。
的I2CSCLL和I2CSCLH寄存
器应被用于设置将SCL频率。
1000H分频1
2001H分频2
:
0FFh分频256
I2CSCLH,I2C移位时钟寄存器高
I2CSCLHx位7-0I2C移位时钟高。
这些位定义当I2C控制器处于主模式时SCL高电平的时间,
SCL高电平的时间是(I2CSCLH+2)×
(I2CPSC+1)。
000HSCL高周期=5×
(I2CPSC+1)
001HSCL高周期=5×
002HSCL高周期=5×
003HSCL高周期=5×
004HSCL高周期=6×
0FFh的SCL高周期=257×
I2CSCLL,I2C移位时钟寄存器低
I2CSCLLx位7-0I2C移位时钟低。
这些位定义当I2C控制器处于主模式时SCL低电平的时间,
SCL低电平的时间是(I2CSCLL+2)×
000HSCL低周期=5×
001HSCL低周期=5×
002HSCL低周期=5×
003HSCL低周期=5×
004HSCL低周期=6×
0FFh的SCL低周期=257×
I2COA,I2C自己的地址寄存器,7位寻址模式
15141312
111098
r0r0r0r0r0r0r0r0
I2COAx
r0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
只有当I2CEN=0,修改有效
I2COAx位15-0I2C自己的地址。
该I2COA寄存器包含MSP430I2C
控制器的本地地址。
该I2COA寄存器为右对齐。
位6
是MSB。
比特15-7总是为0。
I2COA,I2C自己的地址寄存器,10位寻址模式
r0r0r0r0r0r0rw−0rw−0