Új hozzászólás Aktív témák

  • tototos
    addikt
    válasz dabadab üzenetére #4234

    Köszi.

    Hát most végül működik 64 bites változóval de nem tudom mennyire optimális.
    Ez az amikor kiveszek egy tömbböl elemeket

    uint8_t LINReceiveBuffer[8];

    LINScheduleTable[ScheduleTableIndex].LINScheduleTableFrame.LINFrameValue = 0;
    for (Index = 0;Index < ResponseDataByteIndex-1;Index++)
    {
    LINScheduleTable[ScheduleTableIndex].LINScheduleTableFrame.LINFrameValue += (LINReceiveBuffer[Index+1] << ((LINScheduleTable[ScheduleTableIndex].LINScheduleTableFrame.LINFrameDataLength - 1 - Index)*8));
    }

    Ezzel rakom be:

    if (ResponseDataByteIndex < LINScheduleTable[ScheduleTableIndex].LINScheduleTableFrame.LINFrameDataLength)
    {

    DataCheck = (uint8_t)(LINScheduleTable[ScheduleTableIndex].LINScheduleTableFrame.LINFrameValue >> (LINScheduleTable[ScheduleTableIndex].LINScheduleTableFrame.LINFrameDataLength - 1 - ResponseDataByteIndex)*8);
    LINChecksumBuffer[ResponseDataByteIndex+1] = DataCheck;
    USART_SendData(USART6,DataCheck);
    ResponseDataByteIndex++;
    }

Új hozzászólás Aktív témák