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

 
 
> codevision and i2c, туплю
dspy
сообщение May 29 2007, 05:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 5-03-07
Пользователь №: 25 880



доброе время суток!
вот уже второй день роюсь в нете и мануалах и туплю
вот вопрос: есть число размером 2 байта, его нужно передать по i2c, как разбить это число
на старший и младший байт help.gif
заранее благодарен
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Guest_Serg79_*
сообщение May 30 2007, 04:02
Сообщение #2





Guests






Можно пойти двумя путями, в зависимости от того что нужно.

Первый, использование препроцессора:
Код
#define LOBYTE(w)         ((uint8_t)((uint16_t)(w)))
#define HIBYTE(w)         ((uint8_t)((uint16_t)(w) >> 8))
#define MAKEWORD(a,b)     ((uint16_t)(((uint8_t)(a)) | ((uint16_t)((uint8_t)(b))) << 8))

Второй, использование объединения:
Код
union
{
    uint16_t val_16;
    uint8_t val_8[2];
} val;
Go to the top of the page
 
+Quote Post
dspy
сообщение May 30 2007, 04:11
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 5-03-07
Пользователь №: 25 880



спасибо вам за ответы!

т.к. я начинающий в этом деле, пожалуйста скинте в каком разделе хелпа находится описания этого:

Первый, использование препроцессора:
Код
#define LOBYTE(w)         ((uint8_t)((uint16_t)(w)))
#define HIBYTE(w)         ((uint8_t)((uint16_t)(w) >> 8))
#define MAKEWORD(a,b)     ((uint16_t)(((uint8_t)(a)) | ((uint16_t)((uint8_t)(b))) << 8))
Go to the top of the page
 
+Quote Post



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

 


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


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