/*****************************************************************************

      文件名称:NOP.H

      文件标识:_NOP_H_

      摘    要:精确延时头文件,可以精确延时40以内(包括40)的时钟周期数

      当前版本:V2.0

*****************************************************************************/

#ifndef  _NOP_H_

#define  _NOP_H_


#define  NOP(N)    _NOP(N)

#define  _NOP(N)    do{ NOP_##N(); }while(0)


#define  NOP_0()

#define  NOP_1()   asm("nop")

#define  NOP_2()   NOP_1();asm("nop")

#define  NOP_3()   NOP_2();asm("nop")

#define  NOP_4()   NOP_3();asm("nop")

#define  NOP_5()   NOP_4();asm("nop")

#define  NOP_6()   NOP_5();asm("nop")

#define  NOP_7()   NOP_6();asm("nop")


#ifndef  _DELAY_H_

#define  NOP_8()   NOP_7();asm("nop")

#define  NOP_9()   NOP_8();asm("nop")

#define  NOP_10()  NOP_9();asm("nop")

#define  NOP_11()  NOP_10();asm("nop")

#define  NOP_12()  NOP_11();asm("nop")

#define  NOP_13()  NOP_12();asm("nop")

#define  NOP_14()  NOP_13();asm("nop")

#define  NOP_15()  NOP_14();asm("nop")

#define  NOP_16()  NOP_15();asm("nop")

#define  NOP_17()  NOP_16();asm("nop")

#define  NOP_18()  NOP_17();asm("nop")

#define  NOP_19()  NOP_18();asm("nop")

#define  NOP_20()  NOP_19();asm("nop")

#define  NOP_21()  NOP_20();asm("nop")

#define  NOP_22()  NOP_21();asm("nop")

#define  NOP_23()  NOP_22();asm("nop")

#define  NOP_24()  NOP_23();asm("nop")

#define  NOP_25()  NOP_24();asm("nop")

#define  NOP_26()  NOP_25();asm("nop")

#define  NOP_27()  NOP_26();asm("nop")

#define  NOP_28()  NOP_27();asm("nop")

#define  NOP_29()  NOP_28();asm("nop")

#define  NOP_30()  NOP_29();asm("nop")

#define  NOP_31()  NOP_30();asm("nop")

#define  NOP_32()  NOP_31();asm("nop")

#define  NOP_33()  NOP_32();asm("nop")

#define  NOP_34()  NOP_33();asm("nop")

#define  NOP_35()  NOP_34();asm("nop")

#define  NOP_36()  NOP_35();asm("nop")

#define  NOP_37()  NOP_36();asm("nop")

#define  NOP_38()  NOP_37();asm("nop")

#define  NOP_39()  NOP_38();asm("nop")

#define  NOP_40()  NOP_39();asm("nop")


#else

#define  NOP_8()   wait_us(1);NOP_0()

#define  NOP_9()   wait_us(1);NOP_1()

#define  NOP_10()  wait_us(1);NOP_2()

#define  NOP_11()  wait_us(1);NOP_3()

#define  NOP_12()  wait_us(1);NOP_4()

#define  NOP_13()  wait_us(1);NOP_5()

#define  NOP_14()  wait_us(2);NOP_0()

#define  NOP_15()  wait_us(2);NOP_1()

#define  NOP_16()  wait_us(2);NOP_2()

#define  NOP_17()  wait_us(2);NOP_3()

#define  NOP_18()  wait_us(2);NOP_4()

#define  NOP_19()  wait_us(2);NOP_5()

#define  NOP_20()  wait_us(3);NOP_0()

#define  NOP_21()  wait_us(3);NOP_1()

#define  NOP_22()  wait_us(3);NOP_2()

#define  NOP_23()  wait_us(3);NOP_3()

#define  NOP_24()  wait_us(3);NOP_4()

#define  NOP_25()  wait_us(3);NOP_5()

#define  NOP_26()  wait_us(4);NOP_0()

#define  NOP_27()  wait_us(4);NOP_1()

#define  NOP_28()  wait_us(4);NOP_2()

#define  NOP_29()  wait_us(4);NOP_3()

#define  NOP_30()  wait_us(4);NOP_4()

#define  NOP_31()  wait_us(4);NOP_5()

#define  NOP_32()  wait_us(5);NOP_0()

#define  NOP_33()  wait_us(5);NOP_1()

#define  NOP_34()  wait_us(5);NOP_2()

#define  NOP_35()  wait_us(5);NOP_3()

#define  NOP_36()  wait_us(5);NOP_4()

#define  NOP_37()  wait_us(5);NOP_5()

#define  NOP_38()  wait_us(6);NOP_0()

#define  NOP_39()  wait_us(6);NOP_1()

#define  NOP_40()  wait_us(6);NOP_2()


#endif

#endif


关键字:NOP  H头文件  精确延时  时钟周期数 引用地址:NOP.H头文件下载- 可以精确延时40以内(包括40)的时钟周期数

上一篇:Delay.h头文件下载-AVR系列单片机的通用软件延时头文件
下一篇:DataType.h头文件下载-定义常用数据类型的简写形式

推荐阅读

网上很多STM32的I2C都是基于F系列去实现的,其他的系列的芯片实现很少。 而对于STM32L151系列的I2C从机设计,用STM32CubeMX生成的简单DEMO里,就会有提供库接口实现,比如: HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout); HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pDa...
松下公司松下与立命馆大学的 Masahiro Fukui 教授合作开发了一种新的电池管理技术,利用交流电励磁法,测量堆叠式锂离子电池模块的电化学阻抗。新技术适合带有多电芯锂离子电池的设备和车辆,如电动自行车、低速车辆、建筑及物流机械等,未来可用于电动汽车和大容量蓄电池。 此外,通过劣化诊断,并根据测量数据进行故障测评,来评估残余价值。这将有助...
  如今,伴随着现代作战无人化趋势的不断加剧,无人机在军事领域的应用变得愈发重要和频繁。无人机在军事领域的落地,不仅能承担侦察、打击、运输等任务,而且还能有效保障作战人员的安全,对于战场的颠覆作用不言而喻。   在近期发生的几起国际争端中,无人机便真实展现了其军用价值。不管是巴基斯坦和印度,还是阿塞拜疆与亚美尼亚,可以看到,拥有...
前言本博文的代码用STM32CubeMX生成,MDK调试。出现这个问题可能不止一种,所以下面我只列举几个解决办法,后续遇到问题再添加;如有不足,多多指教;解决办法https://blog.csdn.net/a379039233/article/details/73742325打开魔法棒,重新选择调试方式

史海拾趣

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved