登录
首页 嵌入式系统 微软嵌入式
回帖 发帖
正文

主题:英创工控主板可编程时钟的应用

点击:865 回复:0

英创ARM9工控主板广泛应用于各种工业领域,如野外环境监控、数据采集、通讯管理、仪器仪表等。特别是在一些简单的数据采集应用中,需要在一定时间误差内对数据进行采集。为了适应这种需求,需采用独立的同步时钟信号来实现。为此,英创提供了一个静态库函数EM9x60_Timer_API.lib,在EM9160、EM9260与EM9360系统上,可以实现输出高精度的时钟信号,频率范围在0Hz ~ 5MHz,最大误差优于2‰。
     函数说明:
     BOOL  bPulseSet ( WORD dwChannel , DWORD dwFrequency );
     //功能说明: 设置脉冲信号输出
     //输入参数  dwChannel: 要设置波形输出的端口,仅限 0,1,2有效,分别对应三个PWM信号输出端口
     //dwFrequency: 所选择的信号输出端要输出的信号的频率,这是一个50%占空比的信号。
                            //如果参数为0,则禁止功能
     //返回值:TRUE 设置成功 | FALSE 设置不成功
     对应EM9160和EM9260的引脚:  
型号\ dwChannel值
0
1
2

EM9160
CN2.33(GPIO12)
CN2.35(GPIO14)
CN2.36(GPIO15)

EM9260
CN4.5(P5.3)
CN3.5(P5.0)
CN3.3(P5.2)

EM9360
CN2.31(GPIO0)
CN2.33(GPIO2)
CN2.34(GPIO3)

     注意: 在EM9260系统上使用时需要注意,由于它的信号引脚与ISA总线复用,所以在使用时需要将P5口转换成GPIO,即调用EM9260_DIO_EX.h中的P5_OutEnableEx函数。如:
     #define WaveOut0 0x08
     #define WaveOut1 0x01
     #define WaveOut2 0x04
     P5_OutEnableEx( WaveOut0 | WaveOut1 | WaveOut2 );
     输出信号例子:
     i1=1000000;
     i2=0;
     if(bPulseSet( i2, i1 ))  //从0通道输出1MHz的信号
           printf('waveform%d output Frequency: %d \n',i2,i1);
     停止信号输出例子:
     bPulseSet(i2, 0) ; //停止0通道信号输出
10-06-02 13:09

工控新闻

更多新闻资讯