ATMega неверный аргумент функции

Я пишу прошивку для AT90CAN32, используя AVR Studio + WinAVR. Это кажется простым для опытных программистов AVR. я пас int аргумент функции, но внутри функции он всегда равен нулю. Есть внутри protocol.c файл:

#include <uart.h>

static char packet[16] =  ":AA111122223!f\r\n";

void vDivRequesting(void)
{
    uint8_t cntOfBms = getCountOfBms( );
    for(uint8_t i=0; i<cntOfBms; i++)
    {
        createPacket(getBmsNetworkNumber(i), REQUEST_V_DIV, 1);
        usartSendString(packet,11);
        _delay_ms(200);
    }
}

Есть файл uart.c:

void usartSendString( char *data, uint8_t len )
{
    uint8_t i=0;
    usartSendByte(len + 0x30);
    for( i=0; i<len; i++)
    {
       usartSendByte(*data);
       *data++;
    }
}

И это печатает меня, что len аргумент равен нулю. usartSendString функция определяется в uart.h файл. Что не так с этим кодом?

0 ответов

Другие вопросы по тегам