找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

请问明明一个单片机置零的语句为什么要这么复杂呢...

查看数: 1930 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-11-17 20:20

正文摘要:

本帖最后由 laopihappy123 于 2019-11-18 12:28 编辑 最近研究pwm ,下载了STC的例程,发现了里面这个指令,这条指令是让P3M1 清零的 但是,直接让他清零不就行了 为啥要这么复杂呢...请问..为什么呢? 难道是不能按 ...

回复

ID:518902 发表于 2019-11-18 12:27
yzwzfyz 发表于 2019-11-18 10:49
道理很简单:普通P35只有一个IO的功能,而STC的P35有多重功能。所以需要做功能的选择。

嗯嗯 谢谢大佬解答 其实我想问的是为什么他这么写 而不是直接赋值=0x(数值)
ID:518902 发表于 2019-11-18 12:26
wulin 发表于 2019-11-18 08:04
这不是让P3.5 清零的指令,是设置P3.5 端口模式为推挽输出。
P3M0、P3M0是端口模式特殊功能寄存器,不支持 ...

奥 是这样啊! 谢谢 不过为什么不能直接=0x(数值) 呢 而要用移位来操作呢?
ID:518902 发表于 2019-11-18 12:25
pcbboy 发表于 2019-11-18 08:03
这个不是引脚取反,是设置P3 口某IO的状态,比如高阻,开漏,准双向,推挽输出的设置,貌似不能直接简单取 ...

意思是不能位操作?
ID:518902 发表于 2019-11-18 12:25
xuyaqi 发表于 2019-11-18 06:36
这可不是在给P35置0,这是在为P35配置工作模式,让P3M1=0,P3M0=1,设置为推挽输出模式。

对对对,发现我写错了 ,其实我就是这个意思,我的疑问是为什么他要这么写,为什么不能直接写=0x(数值) 呢
ID:123289 发表于 2019-11-18 10:49
道理很简单:普通P35只有一个IO的功能,而STC的P35有多重功能。所以需要做功能的选择。
ID:213173 发表于 2019-11-18 08:04
这不是让P3.5 清零的指令,是设置P3.5 端口模式为推挽输出。
P3M0、P3M0是端口模式特殊功能寄存器,不支持位操作。
ID:25310 发表于 2019-11-18 08:03
这个不是引脚取反,是设置P3 口某IO的状态,比如高阻,开漏,准双向,推挽输出的设置,貌似不能直接简单取反能设置的。
ID:138097 发表于 2019-11-18 07:57
这个要看这个芯片的寄存器手册,他这么做是因为寄存器的移位操作,看起来比较直观
ID:94031 发表于 2019-11-18 06:36
这可不是在给P35置0,这是在为P35配置工作模式,让P3M1=0,P3M0=1,设置为推挽输出模式。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表