作为32位的ARM,M0的寄存器操作在不使用CMSIS时还是挺麻烦的,字节长了啊。虽然麻烦,还是其乐无穷。不可否认,CMSIS的使用简化了ARM 程序的设计,但归根到底还是使用寄存器操作实现的。如果不看寄存器,有时还真不好调试。于是,因为使用惯了WinAVR编程软件和ATmega系列MCU,对其中的位操作函数_BV()和循环等待函数loop_until_bit_is_set(,)、loop_until_bit_is_clear(,)函数非常怀念啊,直接的移位操作,简单而高校。下一步,打算把这几个函数移植到emIDE和EmBITZ下使用了,.............。2017的愿望。
其实就是告诉大家寄存器操作还有一种更简单的方法,就是移位。为便于设计,更简单的方法就是移植BV()和循环等待函数loop_until_bit_is_set(,)、loop_until_bit_is_clear(,)函数,这在初始化和UART发送函数中有独到用处。 |