Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Не могу собрать программу для Raspbian - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести строки символов на экран http://www.cyberforum.ru/cpp-beginners/thread1059695.html
Не получается вывести строки символов на экран, нужна помощь более опытных: #include<iostream> using namespace std; #define N 255 class card { char NameBook; // ??? char AutorBook; // ???
C++ Удаление элементов массива! Дарова ребята, помогите написать прогу что удаляет элемент массива (что равет суме двух следующих элементов массива). Прога очень лёгкая, только нужно с использованием финкций. Или хотя бы так. http://www.cyberforum.ru/cpp-beginners/thread1059694.html
Дан массив a(n) целых чисел. Проверить, является ли a симметричным относительно своего центрального элемента C++
Дан массив a(n) целых чисел. Проверить, является ли a симметричным относительно своего центрального элемента. С комментариями, пожалуйста.
C++ Как сделать что бы находило наибольшое значение?
Как сделать что бы находило наибольшое значение? То есть пользователь пишет a b c три числа и из них показывало наибольшее? В консоле программу надо
C++ На чем писать? http://www.cyberforum.ru/cpp-beginners/thread1059677.html
Подскажите на чем можно писать программы с графическим интерфейсом на С++.
C++ Поиск максимального паросочетания методом беллмана-форда Помогите написать программу для поиска максимального паросочетания методом беллмана-форда. На сколько я понимаю этот алгоритм ищет минимальный путь между вершинами. Тогда как я должен его... подробнее

Показать сообщение отдельно
DimNsk
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 6
31.12.2013, 07:48  [ТС]
Продолжаем...

Функция GET_TEMPERATURE выдает ошибку:

Вот код функции

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
bool GET_TEMPERATURE(unsigned long long ROM, float &T)
{
    if ( DEBUG ) printf("[D] enter GET_TEMPERATURE\n");
    unsigned long long CRC;
    unsigned long L1, L2;
    unsigned char L3;
    unsigned char FAMILY=ROM&0xFF;
    bool RESULT=false;
    unsigned char N=3;
    while (!RESULT&((N--)>0))
        if (MATCH_ROM(ROM))
            if (OW_WRITE_BYTE(0xBE))
                    if (OW_READ_4BYTE(L1))
                        if (OW_READ_4BYTE(L2))
                            if (OW_READ_BYTE(L3))
                            {
                                if ( DEBUG ) printf("[D] L1=%lx\tL2=%lx\tL3=%hhx\n", L1, L2, L3);
                                CRC=0;
                                for (int i=0; i<4; i++) CRC=CRC8(CRC, (L1>>(i*8))&0xFF);
                                if ( DEBUG ) printf("[D] CRC=%llx\n", CRC);
                                for (int i=0; i<4; i++) CRC=CRC8(CRC, (L2>>(i*8))&0xFF);
                                if ( DEBUG ) printf("[D] CRC=%llx\n", CRC);
                                CRC=CRC8(CRC, L3);
                                if ( DEBUG ) printf("[D] CRC=%llx\n", CRC);
                                RESULT=CRC==0;
                                short K=L1&0xFFFF;
                                //  DS18B20 +10.125=00A2h, -10.125=FF5Eh
                                //  DS18S20 +25.0=0032h, -25.0=FFCEh
                                //  K=0x0032;
                                T=1000;     //  for unknow FAMILY - no sensor exists
                                if ((FAMILY==0x28)|(FAMILY==0x22)) T=K*0.0625;  //  DS18B20 | DS1822
                                if (FAMILY==0x10) T=K*0.5;                      //  DS18S20 | DS1820
                                if ( DEBUG ) printf("[D] ~T=%f\n", T);
                            } else printf("[!] !OW_READ_BYTE(L3) \n");
                        else printf("[!] !OW_READ_4BYTE(L2) \n");
                    else printf("[!] !OW_READ_4BYTE(L1) \n");
                else printf("[!] !OW_WRITE_BYTE(0xBE) \n");
        else printf("[!] !MATCH_ROM(ROM) \n");
    if (!RESULT) printf("[!] Error GET_TEMPERATURE\n");
    return RESULT;
}
вот вывод DEBUG

Bash
1
#  /root/mp707/bmcontrol scan
temp_id1 = 8300000483000004
temp_id2 = 40000034000003


Bash
1
# /root/mp707/bmcontrol temp 40000034000003
Код
[D] enter GET_TEMPERATURE
[D] L1=ffffffff L2=ffffffff     L3=ff
[D] CRC=8d
[D] CRC=c9
[D] CRC=63
[D] ~T=1000.000000
[D] L1=ffffffff L2=ffffffff     L3=ff
[D] CRC=8d
[D] CRC=c9
[D] CRC=63
[D] ~T=1000.000000
[D] L1=ffffffff L2=ffffffff     L3=ff
[D] CRC=8d
[D] CRC=c9
[D] CRC=63
[D] ~T=1000.000000
[!] Error GET_TEMPERATURE

Что не так?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru