Board logo

标题: 一个有关c语言的小问题 [打印本页]

作者: jansonwang    时间: 2006-3-31 15:19     标题: 一个有关c语言的小问题

请问各位高人,用c语言怎样保持一个变量指定的时间.比如:要产生一个波形,让clk信号低电平5ms,高电平15ms.好象在c语言里面也不能有wait这个语法.望各位不吝赐教!!
作者: linuxarm    时间: 2006-3-31 22:32

这个程序要在什么上面跑,是在单片机,DSP上面,还是说只是一个纯软件...?
作者: 32kmcu    时间: 2006-4-1 00:03

使用定时器中断方式产生
作者: jansonwang    时间: 2006-4-1 11:59

只是要写一个c的小程序而已,该怎么实现
作者: jansonwang    时间: 2006-4-1 16:50

怎样用定时器中断方式
作者: spideman    时间: 2006-4-1 17:19

for循环,循环多少次要你根据时间定
作者: jansonwang    时间: 2006-4-1 18:31

用for循环的话,不知道一个循环要多少时间啊
作者: shu458    时间: 2006-4-2 16:07

用nios ide延时用for循环就可以了,具体循环好多次,用示波器看加估计就可以了
作者: jansonwang    时间: 2006-4-3 11:56

但是我不确定用for的话,能够精确到个什么程度.能够精确到1ms,0.1ms或是0.01ms?
作者: jansonwang    时间: 2006-4-5 21:49

我用sleep函数可以实现,但是经常死机,用delay函数怎么没有用?不理解
作者: jansonwang    时间: 2006-4-10 11:16

怎么没有人答疑解惑啊?
作者: hgl_hz    时间: 2006-4-10 20:50

先看在用什么东西实现!具体问题再具体分析.延时\定时器是基本.
作者: jansonwang    时间: 2006-4-12 14:24

一定要借助硬件来实现吗?用纯软件的方法不能实现吗?
作者: linuxarm    时间: 2006-4-17 20:37

不过要注意,sleep的分辨率是10ms
也就是说sleep(100) 是sleep 100 ms
sleep(104)也是sleep 100 ms
至少我拿VC试了是这样~~我在VC中让一个东西输出为高,然后sleep(104),再变成低,在示波器上看到的脉宽是100ms。我开始以为是定时不准,然后将sleep的时间改为105、106、107。。。。来试,发现脉宽都是100ms,直到突然变成110ms

作者: jansonwang    时间: 2006-4-17 21:29

多谢您的指教,那我请问delay是怎么用啊,怎么我按照手册的语法编译通过,但是并没有起到delay的作用呢?
作者: linuxarm    时间: 2006-4-23 11:03

你用delay时,include哪一个文件了?
是“system.h”吗?
作者: weirh98    时间: 2006-5-26 18:53

用什么操作系统的啊?不同的操作系统不同的配置系统tick时间也不一样的
作者: 为爱掉眼泪    时间: 2006-11-1 11:43

QUOTE:
以下是引用spideman在2006-4-1 17:19:00的发言:
for循环,循环多少次要你根据时间定


作者: cuisz    时间: 2006-11-20 22:11

实现方法:

1、任务(要有内核支持)

2、中断

3、延时(不推荐,耗CPU,最不可取)


作者: 邦故    时间: 2006-12-27 11:41

[em06]肯定是用定时器,不过不同平台实现方法不一样




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0