STC32G144K246 P8OUT 与P8SETB P8CLRB的关系
STC32G144K246P8OUT 与P8SETB P8CLRB的关系是怎么样的呢?可以用P8OUT将P8的某个IO口置高或置低, 那与P8SETB P8CLRB将某个IO口置高或置低有什么区别呢?P8OUT是对端口进行输出寄存器赋值,P8SETB是位操作置高电平,P8CLRB是位操作置低电平。用起来P8OUT方便,不像P8SETB和P8CLRB需要搭配使用。P9,PA,PB同样如此。 直接对P8OUT与或操作不是原子操作(有些人不懂可能会产生错误,特别是中断与主循环中都使用),所以设置了P8SETB P8CLRB寄存器,这是原子操作,不会问题,学ARM核的搞法 qiuzhihhq 发表于 2026-1-9 13:33
P8OUT是对端口进行输出寄存器赋值,P8SETB是位操作置高电平,P8CLRB是位操作置低电平。用起来P8OUT方便,不 ...
官方说,对P8-PB口的输出,除非整个口都设为推挽模式,才能用PXOUT对端口赋值操作,否则的话,只能是用位操作 Ayb_ice 发表于 2026-1-9 13:53
直接对P8OUT与或操作不是原子操作(有些人不懂可能会产生错误,特别是中断与主循环中都使用),所以设置了P ...
好的谢谢
页:
[1]