[通用8051核FLASH系列] 请问89S003的IO配置赋值方式的差异?

[复制链接]
780|0
 楼主| dianzi1987 发表于 2019-10-29 16:48 | 显示全部楼层 |阅读模式
IO, AC
本帖最后由 芯圣电子官方QQ 于 2023-7-25 10:29 编辑

如下图:
官方例程是这样赋值的:
P0M1 = P0M1&0xF0|0x00;                                //P02设置为输入(非施密特)
        P0M0 = P0M0&0x0F|0x10;                                //P01设置为带下拉输入(非施密特)
        P0M0 = P0M0&0xF0|0x02;                                //P00设置为带上拉输入(非施密特)
        P1M0 = P1M0&0x0F|0x30;                                //P11设置为带模拟输入
        P2M0 = P2M0&0xF0|0x04;                                //P20设置为输入(施密特)

我特意尝试直接赋值(P2M2 = 0x38;        //P02设置为推挽输出)。发现也可以达到功能,那么直接赋值还更简单,为何官方不采用??这样的隐患是什么???为什么要要运算赋值???


微信截图_20191029163734.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

24

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部