delays.h

来自「温度传感器DS18B20的读写程序」· C头文件 代码 · 共 31 行

H
31
字号
#define DELAY_500NS		asm volatile("bra 1f\n"\
									"1:\n"\
									"nop\n")
						
#define DELAY_1US		DELAY_500NS;DELAY_500NS

#define DELAY_US(time)	asm volatile("mov.w %0,r0"::"n"(time));\
						asm volatile("nop");\
						asm volatile("nop");\
						asm volatile("dec.w #1,r0");\
						asm volatile("0:\n"\
									"bne 1f\n"\
									"nop\n"\
									"dec.w #1,r0\n"\
									"bra 0b\n"\
									"1:\n")
						
#define DELAY_MS(time)	asm volatile("mov.w %0,r0"::"n"(time));\
						asm volatile("0:\n"\
									"mov.w #999,e0\n"\
									"1:\n"\
									"bra 2f\n"\
									"2:\n"\
									"nop\n"\
									"dec.w #1,e0\n"\
									"bne 1b\n"\
									"nop\n"\
									"nop\n"\
									"dec.w #1,r0\n"\
									"bne 0b\n")

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?