天嵌 ARM开发社区

 找回密码
 注册
查看: 1997|回复: 2

WINCE PWM设置不成功

[复制链接]
JJDX01 发表于 2013-11-14 13:38:36 | 显示全部楼层 |阅读模式
//打开PWM
m_hPWM = CreateFile(_T("PWM1:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0);
        if (m_hPWM == INVALID_HANDLE_VALUE)
        {
                MessageBox(_T("打开PWM设备失败!"));
        }

// 设置PWM0定时器分频值
        ret = DeviceIoControl(m_hPWM,IOCTL_PWM_SET_DIVIDER ,divider ,2, NULL, 0, &nBytesToRead, NULL);//       
if (ret != TRUE)
        {
                Cwt01Dlg::pwmStop();
                MessageBox(_T("设置 PWM0 定时器分频值失败!"));
                return;
        }

// 创建蜂鸣器播放线程
        gBeepThread = CreateThread(0, 0, BeepThread, 0, 0, &pwmIDThread);


在线程函数里启动定时器。
ret = ::DeviceIoControl(m_hPWM, IOCTL_PWM_START, pwmbuff, 3,  NULL, 0, NULL, NULL);

问题是打开“PWM1”成功,但设置PWM0定时器分频值失败???这是怎么回事
TQ-ZQL 发表于 2013-11-14 15:12:37 | 显示全部楼层
建议看下驱动,
                case IOCTL_PWM_SET_DIVIDER:       
                        if (nInBufSize >= 2)                                        // 需要2个字节缓冲区
                                bErr = PWM_SetDivider(pInBuf[0], pInBuf[1]);
buf[0]为0或者1,buf[1]为<4

看下有没有不满足的
 楼主| JJDX01 发表于 2013-11-14 16:06:54 | 显示全部楼层
谢谢你的提醒。恩, 我改了下参数,第一个设0,第二个为2。还是不行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-29 15:42 , Processed in 1.046868 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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