пятница, 1 апреля 2011 г.

Вставка кода

if (data_xmited & (uart_state == XMIT))
{
    switch (xmit_count)
    {
        case 0:
            xmit_buffer = msg_opcode;
            error = 0;
            break;
        case 1:
            xmit_buffer = msg_length;
            break;
        default:
            xmit_buffer = msg_data[xmit_count-2];
            break;
    }

    xmit_count++;
    if (xmit_count == (msg_length+2))
    {
        xmit_count = 0;
        if (msg_opcode == START)
        {
            msg_opcode = ADC_DATA;
            msg_length = BYTES_IN_BLOCK;
            uart_state = XMIT_ADC_DATA;
        }
        else
            uart_state = RECV;
    }

        data_xmited = 0;

    SFRPAGE = UART1_PAGE;
    SBUF1 = xmit_buffer;
}  

Рецепт тут.

3 комментария:

  1. UART1_PAGE - название сломало мой мозг. что-то из области уринотерапии

    ADC_DATA - нужно обязательно переименовать в ACDC_DATA

    хоть бы сказал что этот код делает ;) а без контекста - это магические руны инков или ацтеков.

    ОтветитьУдалить
  2. Кусок кода из одной программы для микроконтроллера, скопировал и вставил, просто посмотреть результат. А реально - этот кусок отправляет пакетики через UART - то бишь универсальный асинхронный приемопередатчик. Блин, снег мокрый идет (

    ОтветитьУдалить
  3. +1!
    полезно. попробую освоить =)

    ОтветитьУдалить