dengxm2009 发表于 2015-9-8 21:39:51

C8051F02x 端口为输入时的设置困惑?

端口为输入信号时,如下代码:
P3MDOUT = 0x00;                     // P3.7 is open-drain

   P3   |= 0x80;                     // Set P3.7 latch to '1'

为什么还要设置相应的端口值寄存器为高电平?

kinsno 发表于 2015-9-8 21:58:53

本帖最后由 kinsno 于 2015-9-8 22:00 编辑

真的是太远了,差不多9年前用的,抱歉,帮不了;
PS: 我是觉得新华龙(代理)的片子,一点性价比都没有,在10年前,因为SOC做的不错,还有点火,现在它和ST,甚至和恩智浦也没有优势吧,唯一可行的,是可以340还是350的24位AD当成专业AD来用,还是蛮好的,绝对强过7750此类片子;

idodi 发表于 2015-9-8 22:49:27

7年前用过,对于那个时期来说,C8051F给了我太多的惊喜,采用3级指令流水线的51内核,处理能力高达50MIPS,集成AD、DA、USB,数字交叉开关等等,强悍的抗干扰能力,当时简直到了膜拜的程度(我承认我见识比较少{:tongue:})。到后来过度到cm,还真没遇到向C8051F那样好用的交叉开关,几乎可以将复用功能配置到任何IO口。

跑题了。
和51一样,要一个IO作为输入时,要先往输出寄存器写1。具体原因请参照datasheet上关于gpio的部分。

rain73 发表于 2015-9-8 23:03:40

设置高电平是为了不影响开漏上拉的高电平值。

dengxm2009 发表于 2015-9-9 09:55:13

rain73 发表于 2015-9-8 23:03
设置高电平是为了不影响开漏上拉的高电平值。

我在问个问题。设置为挽推模式,IO就做为输出,设置为开漏,io就作为输入吗?

modbus 发表于 2015-9-9 10:50:15

端口值寄存器为0的话输出一直是强驱动的低电平,什么输入也没有,开漏只是对输出高电平来说的

graycker 发表于 2015-9-9 13:36:33

idodi 发表于 2015-9-8 22:49
7年前用过,对于那个时期来说,C8051F给了我太多的惊喜,采用3级指令流水线的51内核,处理能力高达50MIPS, ...

silicon把经典的51做到了极致

graycker 发表于 2015-9-9 13:43:04

idodi 发表于 2015-9-8 22:49
7年前用过,对于那个时期来说,C8051F给了我太多的惊喜,采用3级指令流水线的51内核,处理能力高达50MIPS, ...

silicon把经典的51做到了极致
页: [1]
查看完整版本: C8051F02x 端口为输入时的设置困惑?