The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Логика, !*! RedD, 26-Окт-14, 21:04  [смотреть все]
Есть 16 -ти битное число типа, 0x0000 h, как его разбить на 0x00h H, 0x00h L.
  • Логика, !*! RedD, 22:33 , 26-Окт-14 (1)
    Data 16 bit
    usignet char Н равно data // младший
    L равно data/256 //старший


    Так?


    • Логика, !*! RedD, 22:38 , 26-Окт-14 (2)
      Тьфу l с h попутал, ну главное принцып
      • Логика, !*! RedD, 22:56 , 26-Окт-14 (3)
        Лана проверил, работает, вопрос закрыт )


        • Логика, !*! RedD, 23:06 , 26-Окт-14 (4)
          int data=0xFCFC;
          usignet char L=0;
          usignet char H=0;
          L=data;            //FC
          H=data/256Dec;     //FC
          • Логика, !*! Alex_S, 08:06 , 27-Окт-14 (5)
            • Логика, !*! RedD, 08:15 , 27-Окт-14 (6)
              >> int data=0xFCFC;
              >> usignet char L=0;
              >> usignet char H=0;
              >> L=data;
              >> //FC
              >> H=data/256Dec;     //FC
              >   да хрен то
              >  аспект порядка байт не рассмотрен
              >  может быть наоборот, первый байт - старший
              >  но для школы - сойдет

              НО НО, я целый час думал, 20 минут в нете рылся )))))))))))

              • Логика, !*! RedD, 08:17 , 27-Окт-14 (7)
                >[оверквотинг удален]
                >>> usignet char L=0;
                >>> usignet char H=0;
                >>> L=data;
                >>> //FC
                >>> H=data/256Dec;     //FC
                >>   да хрен то
                >>  аспект порядка байт не рассмотрен
                >>  может быть наоборот, первый байт - старший
                >>  но для школы - сойдет
                > НО НО, я целый час думал, 20 минут в нете рылся )))))))))))

                А вообще не для школы, в atmegе32 нужно так разбить, чтоб на два разных порта выдать )

  • Логика, !*! name, 14:49 , 27-Окт-14 (8)
  • Логика, !*! pavlinux, 20:04 , 29-Окт-14 (11)
    • Логика, !*! RedD, 03:40 , 03-Ноя-14 (12)
      Для Павлиналинукса

      H = data^0x00ff;
      L = data^0xff00;

      Вот это похоже то что нужно,


      • Логика, !*! skb7, 00:48 , 04-Ноя-14 (13)
      • Логика, !*! pavlinux, 00:58 , 04-Ноя-14 (14)
        • Логика, !*! RedD, 06:55 , 04-Ноя-14 (16)
          Вот злодеи ...
          Лана понял что своей башкой думать нада, предварительно всех послушав.

          А вот так мне тож больше нравится,

          H=data>>8;
          L=data;

          Хотя и остальное опробую время будет, отпишусь )
          Не могу с мобилки писать, издевательство какое то, толи дело стандартная клава писишная ...

          • Логика, !*! RedD, 07:13 , 04-Ноя-14 (17) +1
            Для skb7 я тебя понял ..., спасибо )
            • Логика, !*! RedD, 07:21 , 04-Ноя-14 (18)
              А насчет порядка бит, я если честно только с AVR ками, и то так мелочевка, для себя ...
              И только под конкретную задачу, нужно мне было, я сделал, и забыл, я не профи в этом плане, я инженер )

              Но я учусь )


              • Логика, !*! RedD, 08:04 , 04-Ноя-14 (19)
                H = data^0x00ff;
                L = data^0xff00;

                Вот это кстати не работает ) Павлинус тя точно нельзя слушать, но да лана умнее буду )
                Но у меня есть маленькое преимущество, я сразу в железе делаю, и если код не работает это сразу видно ))))

                • Логика, !*! skb7, 15:46 , 04-Ноя-14 (23)
                  • Логика, !*! RedD, 19:00 , 04-Ноя-14 (24)
                    >[оверквотинг удален]
                    >> L = data^0xff00;
                    >> Вот это кстати не работает ) Павлинус тя точно нельзя слушать, но
                    >> да лана умнее буду )
                    >> Но у меня есть маленькое преимущество, я сразу в железе делаю, и
                    >> если код не работает это сразу видно ))))
                    > А оно и не может работать, маски накладываются операцией "побитовое И", т.е.
                    > "&", а точно не операцией "побитовое исключающее ИЛИ". Посмотрите в википедии
                    > таблицы истинности для этих операций и всё станет понятно. pavlinux либо
                    > опечатался, либо специально троллит (никогда не знаешь, он одинаково часто проделывает
                    > и то, и другое).

                    Обьясни у каждого .h файла есть .c
                    Или бывает так что .h есть,  а .c нет?
                    то что .c может быть без .h понятно

              • Логика, !*! skb7, 15:42 , 04-Ноя-14 (21)
          • Логика, !*! RedD, 09:07 , 04-Ноя-14 (20)
            Своей башкой думать и смотреть исходники линуксовые там все есть уже давно )
            Митрофаныч прав )
          • Логика, !*! pavlinux, 15:45 , 04-Ноя-14 (22)
            • Логика, !*! RedD, 12:09 , 11-Ноя-14 (30)
              >> А вот так мне тож больше нравится,
              >> H=data>>8;
              > unsigned char H = ((data >> 8)|( data << 8));
              > Это преобразование из Little Endian в Big Endian,
              > с последующих отрезанием старшей части компилятором.

              Почему не работает функция ceil, библиотека math.h подключена




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру