tayq 发表于 2021-5-27 18:31:11

FM3316

FM3316的微秒延时怎么做呢

顾博文 发表于 2021-5-28 08:34:24

自己写几个nop就好了 _nop_();

tayq 发表于 2021-11-22 16:06:11

用ET2做一个软件延时与以下作时间比较;应该怎样设置或看哪个例程   谢谢



/*软件延时时间定义*/
////系统MCLK主时钟为1M,一个指令周期为1us,可根据单片机主频调以下延时
//定时器时钟为2M,一个指令周期为1/2us,可根据单片机主频调以下延时
#define START_TIME         280*2                  //起始延时时间         ---280us
#define SEND_ONE_TIME      432*2                  //发送 "1"时间   ---432us
#define SEND_ZERO_TIME       192*2                  //发送 "0"时间   ---192us
#define SEND_GAP_TIME      100*2                  //发送 " gap "时间   ---100us
#define STOP_TIME         8000*2                   //结束延时时间         ---6mS

#define READ_15P_TIME      310*2                   //读取1.5p时间         ---310us
#define READ_10P_TIME      278*2                   //读取1.0p时间         ---278us
#define READ_05P_TIME      176*2                   //读取0.5p时间         ---176us
#define READ_TIME_OUT   0x2000*2                //读取超时时间

顾博文 发表于 2021-11-23 09:25:47

tayq 发表于 2021-11-22 16:06
用ET2做一个软件延时与以下作时间比较;应该怎样设置或看哪个例程   谢谢




et2 没有延时例程,3316的计时器,都是不能修改count的,所以都是用计数器关闭打开来重新计数来定时。us级别的定时,建议直接用循环nop来实现

tayq 发表于 2021-11-23 09:35:19

在主频8M下;T0最大定时多少?

tayq 发表于 2021-11-23 09:44:41

8M主频下1us大概几个_nop_()

顾博文 发表于 2021-11-24 08:27:39

tayq 发表于 2021-11-23 09:35
在主频8M下;T0最大定时多少?

t0应该是12个指令周期 计数一次,最大时间应该是几十个ms

tayq 发表于 2023-3-8 14:03:04

FM33LC026在中断中使用FL_DelayMs函数延时;程序死机;怎么解决;

顾博文 发表于 2023-3-14 10:58:58

tayq 发表于 2023-3-8 14:03
FM33LC026在中断中使用FL_DelayMs函数延时;程序死机;怎么解决;

FL_DelayMs 用的是systick系统定时器。死机可能是冲突了。你往这方面查下。 也可以自己弄一套软件延时。
页: [1]
查看完整版本: FM3316