реклама на сайте
подробности

 
 
> Нужна подсказка по С., Как оно работает?
smk
сообщение Jan 19 2012, 12:23
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Ниже приведен кусок кода. Код работает. Как я понимаю условие перестанет выполняться, если очередной байт будет равен нулю. Так? Ну из этого проистекает другой вопрос, а с чего это байт, следующий за последним байтом в массиве, будет 0? Как это работает, чего я не понимаю?

Код
unsigned char HELLO[]="Hello, I'm STM8S105C6, but who are you?";
unsigned char *byteNum = HELLO; // Указатель на передаваемый байт.

void UART2_TXE(void) interrupt 20
    {
        if (*byteNum)
            {
                UART2_DR=*byteNum; // Отправить байт.
                byteNum++;
            }
        else UART2_CR2 &= ~(1<<7); // Запретить прерывания по TXE, всё передано.
    }


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016