TI中文支持网
TI专业的中文技术问题搜集分享网站

关于ARM某些寄存器toggle位操作的问题

ARM芯片有些寄存器,如USB端点寄存器,包括多位的toggle位。如下图:

例如,这个寄存器便有6个 t 位(toggle):14,13,12,6,5,4
配置寄存器时,如果bit6为0,在 bit6写如1,可以将bit6置1。
但是这样操作之后,原本其他5个toggle位上有1的会变成0。
为什么会这样呢?手册上说明toggle位写1翻转,只针对该位,应该不影响其他toggle位
Jian Zhou:

请问你是按照寄存器与非的读写方式操作寄存器的某个位吗?

fuwenjia:

回复 Jian Zhou:

用bit-banding写1至此位,和用 寄存器 |= 0x0040 至此位为1,看到的结果是一样,都把其他状态为“1”的toggle位变成了0

赞(0)
未经允许不得转载:TI中文支持网 » 关于ARM某些寄存器toggle位操作的问题
分享到: 更多 (0)