跳转到主内容
Knowledgebase
Home
Renesas Electronics China - Knowledgebase

(I/O端口,引脚)使用位处理指令(SEB指令、CLB指令)改写I/O端口的端口锁存时为何可能会改变未指定位的值?

最新更新:02/26/2007

Question:

(I/O 端口, 引脚) 使用位处理指令(SEB指令、CLB指令)改写I/O端口的端口锁存时,可能会改变未指定位的值,如何解释?

Answer:

I/O端口可以位单元设定为输入或输出模式。端口寄存器读或写包含以下操作:

- 端口设定为输入时:
读:读取引脚电平
写:写入端口锁存

- 端口设定为输出时:
读:从外围功能读取端口锁存或输出(不同端口规格不同)
写:写入端口锁存(端口锁存数据从引脚输出)

由于位处理指令是读-修改-写指令*1,在端口寄存器上使用该指令可实现该位的同步读写而非指令指定。当未指定位处于输入模式时,读出该引脚电平,将该值 写入端口锁存,此时,若前一端口锁存的值与引脚电平不同,端口锁存值改变。未指定为处于输出模式时,一般情况下,读取端口锁存,但是,因外围功能输出读取 某些端口,将该值写入端口锁存,此时,若端口锁存的前一个值与外围功能输出的值不同,端口锁存值发生改变。
 

*1. 读-修改-写指令:是以字节单位读取存取器、修改值并将值写入相同地址的指令

Suitable Products
3803H
3803L
3823
3850A
3858
38D2
38D5
7544
7545
7546
7547
7548
7549