void Init_Timer0(void)//定时器 移植时不管
{
TMOD &= 0xF0; /* clear Timer 0 */
TMOD |= 0x1;
TL0 = 0x0; /* value set by user */
TH0 = 0x0; /* value set by user */
ET0 = 1; /* IE.1*/
TR0 = 1; /* TCON.4 start timer */
// PT0 = 1;
}
我在做USB内核移植,读程序时TMOD &= 0xF0; /* clear Timer 0 */
TMOD |= 0x1;这两句看不懂,知道是清零功能,可是算法思想琢磨半天都没明白,请帮我解决下
还有个小问题就是在头文件的宏定义时,会出现类似的用法:
#define USB_A_DONE 0x01
#define USB_B_DONE 0x02
#define BABBLE_DETECT 0x04
#define INT_RESERVE 0x08
#define SOF_TIMER 0x10
#define INSERT_REMOVE 0x20
#define USB_RESET 0x40
#define USB_DPLUS 0x80
#define INT_CLEAR 0xFF
这是什么用法,我的理解是给前面的英文名称附上后面的数值地址,不知道是不是这个意思? |