ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: скорость CAN в Windows CE  (Прочитано 3692 раз)

0 Пользователей и 1 Гость просматривают эту тему.

truefish

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 10
скорость CAN в Windows CE
« : 20 Августа, 2014, 15:41:39 »

Здравствуйте!
1. По умолчанию в windows включен UART3 или CAN?
2. CAN контроллер работает на какой чатоте?
3. Как задать скорость работы CAN интерфейса в WIndows CE?

Спасибо.

P.S. В SDK файл cansdk.cpp описывает функцию получения скорости так, но у меня она возвращает все время 0.

//-----------------------------------------------------------------------------
//
// Function: CANGetClockRate
//
// This function will retrieve the clock rate divisor. Note that the value
// is not the absolute peripheral clock frequency. The value retrieved should
// be compared against the CAN specifications to obtain the true frequency.
//
// Parameters:
//      hCAN
//          [in] The CAN device handle retrieved from CANOpenHandle().
//
//      pwClkRate
//          [out] The pointer of WORD variable that retrieves divisor index.
//          Refer to CAN specification to obtain the true clock frequency.
//
// Returns: 
//      Return TRUE or FALSE. If the result is TRUE, the operation is
//      successful.
//
//-----------------------------------------------------------------------------
BOOL CANGetClockRate(HANDLE hCAN, PWORD pwClkRate)
{
    CAN_FUNCTION_ENTRY();

    if (!DeviceIoControl(hCAN,      // file handle to the driver
        CAN_IOCTL_GET_CLOCK_RATE,   // I/O control code
        NULL,                       // in buffer
        0,                          // in buffer size
        pwClkRate,                  // out buffer
        sizeof(WORD),               // out buffer size
        NULL,                       // pointer to number of bytes returned
        NULL))                      // ignored (=NULL)
    {
        DEBUGMSG(ZONE_ERROR,
            (TEXT("%s: CAN_IOCTL_GET_CLOCK_RATE failed!\r\n"), __WFUNCTION__));
        return FALSE;
    }

    CAN_FUNCTION_EXIT();
   
    return TRUE;
}


Записан