当前标签

寄存器

在完成程序编写运行以后看到的结果是存储器中从R0到R7都被占用,而我根本就没用到几个,这是为什么?

答:要看用的是什么型号的单片机,不同型号的单片机R0到R7的定义是不同的。如果R0~R7是被定义成特殊寄存器的话,那么运行过程中自然会影响 到这些寄存器,例如执行运算程序就会影响状态特殊寄存器的值。如果R0~R7是被定义成通用寄存器的话,那么可能就是在程序的开头没有初始化,单片机在上 电复位时,通用寄存器的值通常是随机的。

问:如果通过Crossbar寄存器使能并分配为P0.0和P0.1引脚,那么,我还可以用这两个引脚为通用I/O吗?

答:①如果你通过Crossbar使能一个外设,如UART,那么这个外设将控制这些引脚的输出状态(逻辑高/逻辑低)。 ②你可以在任何时刻读引脚的状态,与Crossbar控制与否无关。 ③当被禁止时,大部分外设的输出引脚被置为高阻态(UART口是一个很好的例子)。因为UART收发器无明确的禁止态,你可将相应的引脚置成开漏输出模式,也可以达到相同的结果,因为UART收发器在空闲时引脚为逻辑1。 总的来说,Crossbar置配后在末使用时的外设引脚可以用于数据输入,但不能作为数据输出。其它器件,如F3xx系列,口引脚可通过Crossbar“重新声明”且用于GPIO引脚对器件管脚无影响,因为这些器件具有“引脚跳过”(PIN SKIP)特性。