liuyang21168 发表于 2023-12-7 23:27:12

建议:软件延时函数的设计

在stc-isp-v6.92H中的“软件延时计算器”给出的延时函数,里面定义了一些变量,
这些变量的存储类型为 data,建议公司把这些变量的存储类型改为 pdata,因为 data的空间很珍贵,
最好把data的宝贵空间留给其他功能使用。

rengran 发表于 2023-12-8 12:57:01

读取不同地方的寄存器的速度不一样,考虑到延时的准确性问题,所以公司才使用了data的区域,本身这种延时方式误差就不小了。

liuyang21168 发表于 2023-12-9 23:12:43

需要延时时间 ÷ 每个时钟周期占用的时间=需要消耗的时钟周期数;
把延时函数变量的存储类型改为 pdata,只需要根据访问pdata变量需要的时钟数,重新计算各个变量的初始值就可以,
对延时精度几乎没有影响,另外这种延时函数本来就不是很精确,主要用于对精度要求不是很高的地方。要求延时精度高的
地方可以用_nop_()指令堆积。

liuyang21168 发表于 2023-12-12 15:06:07

希望STC公司写延时函数的技术人员能看到此建议。

liuyang21168 发表于 2023-12-12 15:07:26

在新版的stc-isp-vxx能看到使用pdata变量的延时函数

神农鼎 发表于 2023-12-12 15:38:17

pdata, 我们是不建议使用的,
data, idata, xdata

edata, xdata

liuyang21168 发表于 2023-12-13 10:11:59

只要不使用data和idata就可以,这两个存储空间太宝贵,重要数据和堆栈都使用这里。
页: [1]
查看完整版本: 建议:软件延时函数的设计