|
Сравнение больших чисел, 64 бита и больше, на языке С, сильно не пинать:) |
|
|
|
May 26 2006, 04:34
|

Профессионал
    
Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360

|
#include <mega8535.h> // 1 Wire Bus functions #asm .equ __w1_port=0x18 ;PORTB .equ __w1_bit=0 #endasm #include <1wire.h> #include <stdio.h> // Standard Input/Output functions #define MAX_DEVICES 1 //определяем максимальное количество устройств на шине unsigned char rom_codes[MAX_DEVICES][9]; //выделяет память (9 бит умноженное на кол-во устройств) void main(void) { unsigned char i=0; unsigned char j; unsigned char devices; // USART initialization UCSRA=0x00; UCSRB=0x08; UCSRC=0x86; UBRRH=0x00; UBRRL=0x03; // Analog Comparator: Off ACSR=0x80; w1_init(); // 1 Wire Bus initialization // Watchdog Timer initialization #pragma optsize- WDTCR=0x1F; WDTCR=0x0F; #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif //ищем устройство командой 0xf0, в rom_codes ложится 9 байт (family-1,serial-6,CRC8-1,некоторые устройства возвращают 9 байт) devices=w1_search(0xf0,rom_codes); /* display the ROM codes for each detected device */ printf("%-u DEVICE(S) DETECTED\n\r",devices); // выводим количество подключенных устройств for (j=0;j<9;j++) // задаем, какую часть кода выводить { printf("%-X",rom_codes[i][j]); } printf("\n\r"); } На основе примера из CVAVR програмка, которая в сом-порт сбрасывает номер подключенного 1-wire устройства (DS1990). Эта часть кода работает. Подскажите, как сравнить номер "таблетки" с неким заданным значением, которое можно будет определить в начале программы, или с несколькими значениями. Вот собственно вопрос мой... Еще приветствуются указание моих косяков в программе и в комментариях
--------------------
Андрей Смирнов
|
|
|
|
Сообщений в этой теме
Pyku_He_oTTyda Сравнение больших чисел, 64 бита и больше May 26 2006, 04:34 Pyku_He_oTTyda Попробую, я еще только взялся за С, так что для ме... May 26 2006, 05:07 vet #include <string.h>
if (memcmp(rom_codes[i]... May 26 2006, 05:16 GetSmart Цитатаunsigned int test = array[0] * array[1] * ar... May 26 2006, 06:25 haker_fox Цитата(GetSmart @ May 26 2006, 15:25) Цит... May 26 2006, 06:56 Pyku_He_oTTyda Цитата#include <string.h>
if (memcmp(rom_co... May 26 2006, 06:30 Pyku_He_oTTyda А как мне определить такой большой my_code ? Напри... May 26 2006, 06:41 GetSmart ЦитатаА как мне определить такой большой my_code ?... May 26 2006, 06:51 BVU Цитата(Pyku_He_oTTyda @ May 26 2006, 08:3... May 26 2006, 06:57 Pyku_He_oTTyda ЦитатаGetSmart
Простите за назойливость, а не мог... May 26 2006, 07:04 _Bill Цитата(Pyku_He_oTTyda @ May 26 2006, 10:0... May 26 2006, 07:34  prottoss Цитата(_Bill @ May 26 2006, 15:34) Цитата... May 26 2006, 12:41   _Bill Цитата(prottoss @ May 26 2006, 15:41) При... May 26 2006, 13:06    zltigo Цитата(_Bill @ May 26 2006, 16:06) Вычита... May 26 2006, 13:39 Pyku_He_oTTyda Вообще запутался, сосвоим кодом было не разобратся... May 26 2006, 07:49 haker_fox Цитата(Pyku_He_oTTyda @ May 26 2006, 16:4... May 26 2006, 07:56 _Bill Цитата(Pyku_He_oTTyda @ May 26 2006, 10:4... May 26 2006, 08:07 GetSmart 2 Pyku_He_oTTyda
По-моему _Bill написал хороший к... May 26 2006, 08:31 Pyku_He_oTTyda Я и не обижаюсь, понимаю, что много непонятного...... May 26 2006, 08:57 _Bill Цитата(Pyku_He_oTTyda @ May 26 2006, 11:5... May 26 2006, 09:06  otrog Цитата(_Bill @ May 26 2006, 13:06) Може... May 26 2006, 10:05  zltigo Цитата(_Bill @ May 26 2006, 12:06) Може... May 26 2006, 12:27 GetSmart ЦитатаСовершенно верно, индетификатор содержит шес... May 26 2006, 09:16 Pyku_He_oTTyda 11E6CAC00701 - это 9 кодов, строка printf(... May 26 2006, 09:56 Pyku_He_oTTyda 01 равен 1 и в двоичной, и в десятичной, и в шестн... May 26 2006, 10:14 otrog А дошло! У Вас изначально было "0x01, 0x1... May 26 2006, 10:31 defunct Код#define FALSE 0
#define TRUE 1
char Match... May 26 2006, 13:39 zltigo Цитата(defunct @ May 26 2006, 16:39) Код ... May 26 2006, 13:44  defunct Цитата(zltigo @ May 26 2006, 16:44) Цитат... May 26 2006, 13:55 GetSmart 2 prottoss
Можно и по-вашему. Иногда так бывает уд... May 26 2006, 13:53 prottoss Цитата(GetSmart @ May 26 2006, 21:53) 2 p... May 26 2006, 16:51 ps1x 2 Pyku_He_oTTyda
Раз уж такая тема, Вы случаем не... May 26 2006, 17:29 Pyku_He_oTTyda Цитатаunsigned char my_code[6] = {0x01,0x07,0xc0,0... May 29 2006, 04:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|