共3条
1/1 1 跳转至页
![](http://uphotos.eepw.com.cn/jackwang/thumb/avatar.jpg)
问
我的程序里需要一个比较精确的时间基准。
答 1:
CTCT0& T1 CTC模式,用系统晶体作时钟源,精确度由系统晶体决定!
答 2:
l4157定时器中断函数里执行的语句越多,误差就越大啊,我的程序里有几个时间标准。
答 3:
CTC是由CPU硬件自动清零CTC是由CPU硬件自动清零,所以中断间隔应该相等(只开一个中断),而且CTC可保证下一个中断不延迟!
不知兄弟为什么要这样准的时基?如实在不行建议用CPLD做一个!估计是采样吧? 答 4: l4157对啊,我是采集外部的信号,你这个方法能同时产生几个时间标准吗? 答 5: 不知你的实际工作需求如果是实时性很强,我不建议使用AVR的CTC,如做FFT等;但只是普通采样滤波或定时采样,CTC足够,不过CTC好象也可用来触发片内ADC转换,
不介意说一下你的CPU任务需求? 答 6: 晓奇老师,有个精确定时的例子/*======================================
微秒级精确延时函数,晶振8M:
Delay = 0.125 *((tt*4-1)+9)微秒
其中9包括了调用方的 r16 赋值 1t
rcall 3t nop 1t ret 4t
brne指令在当判断条件不成立时是单周期
最后一次判断只有1个周期,补一个nop
简化计算 = 0.5tt + 1 (us)
======================================*/
void shortdelay(unsigned char tt)
{
asm("_L2: subi R16,1"); // 1t
asm(" nop") // 1t
asm(" brne _L2"); // 2t/1t
asm(" nop"); // 1t
asm(" ret"); // 4t
} 答 7: 我也有同样的问题。我想用MEGA16作64点交流采样,然后进行FFT运算。我是这么做的,将交流信号变为方波,用T1测出信号的周期,然后TCNT1/64作为采样周期,用T1的比较中断进行AD采样,然而,采出的结果看起来好象不是一个完整周期的信号(比一个周期要短一些),可能是在计算采样周期的时候,T/64产生的偏差所致,但又不大象,好象不应该有那么大的偏差,不知问题出在哪里。请问各位,有什么好办法? 答 8: 一个周期的AD值这是我采出的一个周期的信号值,在EXCEL中可以很容易描出其曲线,请高手帮忙分析一下。
442
420
396
388
371
352
331
314
318
308
316
295
294
293
288
284
284
284
287
314
328
341
355
375
397
419
445
455
486
500
537
544
571
579
600
628
650
653
665
694
718
726
729
724
724
740
742
742
741
741
738
733
711
695
681
666
649
629
609
586
560
549
515
499
不知兄弟为什么要这样准的时基?如实在不行建议用CPLD做一个!估计是采样吧? 答 4: l4157对啊,我是采集外部的信号,你这个方法能同时产生几个时间标准吗? 答 5: 不知你的实际工作需求如果是实时性很强,我不建议使用AVR的CTC,如做FFT等;但只是普通采样滤波或定时采样,CTC足够,不过CTC好象也可用来触发片内ADC转换,
不介意说一下你的CPU任务需求? 答 6: 晓奇老师,有个精确定时的例子/*======================================
微秒级精确延时函数,晶振8M:
Delay = 0.125 *((tt*4-1)+9)微秒
其中9包括了调用方的 r16 赋值 1t
rcall 3t nop 1t ret 4t
brne指令在当判断条件不成立时是单周期
最后一次判断只有1个周期,补一个nop
简化计算 = 0.5tt + 1 (us)
======================================*/
void shortdelay(unsigned char tt)
{
asm("_L2: subi R16,1"); // 1t
asm(" nop") // 1t
asm(" brne _L2"); // 2t/1t
asm(" nop"); // 1t
asm(" ret"); // 4t
} 答 7: 我也有同样的问题。我想用MEGA16作64点交流采样,然后进行FFT运算。我是这么做的,将交流信号变为方波,用T1测出信号的周期,然后TCNT1/64作为采样周期,用T1的比较中断进行AD采样,然而,采出的结果看起来好象不是一个完整周期的信号(比一个周期要短一些),可能是在计算采样周期的时候,T/64产生的偏差所致,但又不大象,好象不应该有那么大的偏差,不知问题出在哪里。请问各位,有什么好办法? 答 8: 一个周期的AD值这是我采出的一个周期的信号值,在EXCEL中可以很容易描出其曲线,请高手帮忙分析一下。
442
420
396
388
371
352
331
314
318
308
316
295
294
293
288
284
284
284
287
314
328
341
355
375
397
419
445
455
486
500
537
544
571
579
600
628
650
653
665
694
718
726
729
724
724
740
742
742
741
741
738
733
711
695
681
666
649
629
609
586
560
549
515
499
共3条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
5月直播——【探索边缘智能的未来——直播盛宴即将开启!】 | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 |
打赏帖 | |
---|---|
换逻辑分析仪_STM32F103认识串口F103相关的知识认识被打赏18分 | |
“DFRobot盖革计数器模块评测”了解电离辐射对人体的危害被打赏8分 | |
“DFRobot盖革计数器模块评测”了解盖革计数器和电离辐射危害被打赏18分 | |
换逻辑分析仪_STM32F103_HAL库PWM呼吸灯被打赏23分 | |
换逻辑分析仪_STM32F103_(寄存器)PWM呼吸灯被打赏20分 | |
换逻辑分析仪STM32F103HAL库定时器被打赏13分 | |
换逻辑分析仪_STM32F103_(HAL库)驱动GPIO操作,点亮LED被打赏13分 | |
【分享评测,赢取加热台】+拆解一个儿童的python编程主控板被打赏20分 | |
【分享评测,赢取加热台】+拆解一个共享充电宝被打赏20分 | |
【换取手持数字示波器】+自制的STC无线调试器被打赏17分 |