首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一个有关c语言的小问题

一个有关c语言的小问题

请问各位高人,用c语言怎样保持一个变量指定的时间.比如:要产生一个波形,让clk信号低电平5ms,高电平15ms.好象在c语言里面也不能有wait这个语法.望各位不吝赐教!!
这个程序要在什么上面跑,是在单片机,DSP上面,还是说只是一个纯软件...?
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
使用定时器中断方式产生
只是要写一个c的小程序而已,该怎么实现
怎样用定时器中断方式
for循环,循环多少次要你根据时间定
用for循环的话,不知道一个循环要多少时间啊
用nios ide延时用for循环就可以了,具体循环好多次,用示波器看加估计就可以了
但是我不确定用for的话,能够精确到个什么程度.能够精确到1ms,0.1ms或是0.01ms?
我用sleep函数可以实现,但是经常死机,用delay函数怎么没有用?不理解
怎么没有人答疑解惑啊?
先看在用什么东西实现!具体问题再具体分析.延时\定时器是基本.
工程师就是大众的一员,那有个性可言!
一定要借助硬件来实现吗?用纯软件的方法不能实现吗?
不过要注意,sleep的分辨率是10ms
也就是说sleep(100) 是sleep 100 ms
sleep(104)也是sleep 100 ms
至少我拿VC试了是这样~~我在VC中让一个东西输出为高,然后sleep(104),再变成低,在示波器上看到的脉宽是100ms。我开始以为是定时不准,然后将sleep的时间改为105、106、107。。。。来试,发现脉宽都是100ms,直到突然变成110ms
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
多谢您的指教,那我请问delay是怎么用啊,怎么我按照手册的语法编译通过,但是并没有起到delay的作用呢?
返回列表