cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 2064|回复: 4

请问在CVI中如何实现每秒产生一个随机数?

[复制链接]
发表于 2008-6-14 12:55:42 | 显示全部楼层 |阅读模式
请问在CVI中如何实现每秒产生一个随机数?谢谢~

偶是新手,只知道应该要用到TIMER。但不知道编写的随机数程序该放进TIMER的什么位置,还望各位高手多多指教下~

int CVICALLBACK DrawToCanvas (int panel, int control, int event,
                void *callbackData, int eventData1, int eventData2)
{
        switch (event)
        {
                case EVENT_TIMER_TICK:

                        break;
        }
        return 0;
}

[ 本帖最后由 片翼的猪 于 2008-6-14 13:21 编辑 ]
发表于 2008-6-14 13:22:08 | 显示全部楼层
Computes a pseudorandom integer in the range 0 to RAND_MAX.

Note  If this function is called before any call to srand, the seed value will default to 1.


Prototype

int rand (void);


在TIMER里面调用它!您的函数应该还没有产生TIMER的回调函数!
 楼主| 发表于 2008-6-14 13:30:59 | 显示全部楼层
发表于 2008-6-14 13:37:51 | 显示全部楼层
定时器的例子,如果兄弟没有做过,可以看我们的采集卡的示例程序!或者看CPUVIEW区提供的一些下载程序!一般采集都要用它,这样方便些,定时自动采集!
发表于 2008-6-14 17:16:52 | 显示全部楼层
来解释一下这个回调函数吧。CVI的事件机制是基于回调函数的,就是某个控件的事件发生了,系统就会调用相应的回调行数。下面这个就是Timer的回调函数。
int CVICALLBACK DrawToCanvas (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
{
        switch (event)                        //标准的switch结构,表示是控件的什么事件,一个控件不仅仅可以响应一个事件,比如鼠标的单击和双击就可以不一样,
        {
                case EVENT_TIMER_TICK:               //case 表示什么事件,后面是一个常量,控件所有的事件都有一个很形象的常量,可以查看帮助得到,
                                                                                        //case 和 break 之间就是响应事件的执行代码的地方,lz要产生一个随机数就是在这里产生。
                        break;
        }
        return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-4-21 05:32 , Processed in 0.706996 second(s), 7 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表