什么是Read-Modify-Write operation
涉及位操作的时候
读来整个8个IO口的数据,修改某一位,然后再把整个8个IO口输出
GpioDataRegs.GPADAT.bit.GPIO1 = 1 ;
GpioDataRegs.GPADAT.bit.GPIO2 = 1
如果GPIO1的输出接了一个大一点的电容
GpioDataRegs.GPADAT.bit.GPIO1 = 1 ;
输出1了但是电压还没有上升到高电平
紧接着运行
GpioDataRegs.GPADAT.bit.GPIO2 = 1
他会把GPIO0-GPIO7的数据都读回来,把GPIO2修改为1,把GPIO0-GPIO7送出去
这时候读到的GPIO1是0,
会改变GPIO1的值
读来整个8个IO口的数据,修改某一位,然后再把整个8个IO口输出
GpioDataRegs.GPADAT.bit.GPIO1 = 1 ;
GpioDataRegs.GPADAT.bit.GPIO2 = 1
如果GPIO1的输出接了一个大一点的电容
GpioDataRegs.GPADAT.bit.GPIO1 = 1 ;
输出1了但是电压还没有上升到高电平
紧接着运行
GpioDataRegs.GPADAT.bit.GPIO2 = 1
他会把GPIO0-GPIO7的数据都读回来,把GPIO2修改为1,把GPIO0-GPIO7送出去
这时候读到的GPIO1是0,
会改变GPIO1的值
还没人转发这篇日记