//打开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定时器分频值失败???这是怎么回事
|