|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 11:56 am
| Автор |
Съобщение |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
 CRC8 калкулатор
Трябва ми някаква програмка за PC WIN98 да смята CRC 8 на някаква поредица /поредицата е до 20 байта/
|
| Вто Дек 28, 2004 1:34 pm |
|
 |
|
Mozfet
Ранг: Ориентиран
Регистриран на: Съб Сеп 25, 2004 4:33 pm Мнения: 273 Местоположение: София
|
Ми ето ти повод да научиш Visual Basic.
_________________ Adios
Mozfet
|
| Вто Дек 28, 2004 9:12 pm |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
Лошото е, че съм на 50 годинки и по-лесно ще науча ПОС (перфолентна операционна система)
Не се стискайте, а дайте .exe или линкче
На ръка го смятам, ама годинките......греша, а не бива 
|
| Вто Дек 28, 2004 9:20 pm |
|
 |
|
Lupus
Ранг: Форумен бог
Регистриран на: Сря Дек 01, 2004 12:44 am Мнения: 2811 Местоположение: София
|
Я не се оплаквай! Какво да кажем ние с гайдите!
|
| Вто Дек 28, 2004 11:24 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Примерен код на ВБ, дано свърши работа.
 |  |  |  | Код: Public Sub CRC8(ByRef Data() As Variant)
Dim CRC As Byte Dim Length As Byte Dim Index As Byte Dim CRCtable1 As Variant CRC = 0 Length = 1 CRCtable1 = Array(&H0, &H7, &HE, &H9, &H1C, &H1B, &H12, &H15, &H38, &H3F, &H36, &H31, &H24, &H23, &H2A, _ &H2D, &H70, &H77, &H7E, &H79, &H6C, &H6B, &H62, &H65, &H48, &H4F, &H46, &H41, &H54, _ &H53, &H5A, &H5D, &HE0, &HE7, &HEE, &HE9, &HFC, &HFB, &HF2, &HF5, &HD8, &HDF, &HD6, _ &HD1, &HC4, &HC3, &HCA, &HCD, &H90, &H97, &H9E, &H99, &H8C, &H8B, &H82, &H85, &HA8, _ &HAF, &HA6, &HA1, &HB4, &HB3, &HBA, &HBD, &HC7, &HC0, &HC9, &HCE, &HDB, &HDC, &HD5, _ &HD2, &HFF, &HF8, &HF1, &HF6, &HE3, &HE4, &HED, &HEA, &HB7, &HB0, &HB9, &HBE, &HAB, _ &HAC, &HA5, &HA2, &H8F, &H88, &H81, &H86, &H93, &H94, &H9D, &H9A, &H27, &H20, &H29, _ &H2E, &H3B, &H3C, &H35, &H32, &H1F, &H18, &H11, &H16, &H3, &H4, &HD, &HA, &H57, &H50, _ &H59, &H5E, &H4B, &H4C, &H45, &H42, &H6F, &H68, &H61, &H66, &H73, &H74, &H7D, &H7A, _ &H89, &H8E, &H87, &H80, &H95, &H92, &H9B, &H9C, &HB1, &HB6, &HBF, &HB8, &HAD, &HAA, _ &HA3, &HA4, &HF9, &HFE, &HF7, &HF0, &HE5, &HE2, &HEB, &HEC, &HC1, &HC6, &HCF, &HC8, _ &HDD, &HDA, &HD3, &HD4, &H69, &H6E, &H67, &H60, &H75, &H72, &H7B, &H7C, &H51, &H56, _ &H5F, &H58, &H4D, &H4A, &H43, &H44, &H19, &H1E, &H17, &H10, &H5, &H2, &HB, &HC, &H21, _ &H26, &H2F, &H28, &H3D, &H3A, &H33, &H34, &H4E, &H49, &H40, &H47, &H52, &H55, &H5C, _ &H5B, &H76, &H71, &H78, &H7F, &H6A, &H6D, &H64, &H63, &H3E, &H39, &H30, &H37, &H22, _ &H25, &H2C, &H2B, &H6, &H1, &H8, &HF, &H1A, &H1D, &H14, &H13, &HAE, &HA9, &HA0, &HA7, _ &HB2, &HB5, &HBC, &HBB, &H96, &H91, &H98, &H9F, &H8A, &H8D, &H84, &H83, &HDE, &HD9, _ &HD0, &HD7, &HC2, &HC5, &HCC, &HCB, &HE6, &HE1, &HE8, &HEF, &HFA, &HFD, &HF4, &HF3) Do While Length < 7 Index = CRC Xor Data(Length) CRC = CRCtable1(Index) Length = Length + 1 Loop CRC8 = CRC End Sub
|  |  |  |  |
|
| Сря Дек 29, 2004 10:31 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Въх ..... е те тва е програмист ...... какво таблично пресмятане избара ..... ммммм .. ъъъ... ааааа ... въпросът е да работи де
http://www.ustr.net/files/crc8.exe
е те това .... пише че е за даласки .... то там нали знаеш .. полинома е от значение .. това не знам с какъв полином е ... 
|
| Сря Дек 29, 2004 10:34 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Не съм го писал аз, намерих го случайно.  Но таблично винаги е по-добре.
|
| Сря Дек 29, 2004 10:44 am |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
Благодаря за съдействието
Мисля, че ще ми свърши работа
|
| Сря Дек 29, 2004 10:50 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
мдаааа стига да имаш 200-300 байта излишни 
|
| Сря Дек 29, 2004 10:56 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Аз го правя тъй:
unsigned char CalcCRC(unsigned char *cBuffer,unsigned int nLenght) {
const unsigned char cCrcTable[256] = {
0x00,0x9B,0xAD,0x36,0xC1,0x5A,0x6C,0xF7,0x19,0x82,0xB4,0x2F,0xD8,0x43,0x75,0xEE,
0x32,0xA9,0x9F,0x04,0xF3,0x68,0x5E,0xC5,0x2B,0xB0,0x86,0x1D,0xEA,0x71,0x47,0xDC,
0x64,0xFF,0xC9,0x52,0xA5,0x3E,0x08,0x93,0x7D,0xE6,0xD0,0x4B,0xBC,0x27,0x11,0x8A,
0x56,0xCD,0xFB,0x60,0x97,0x0C,0x3A,0xA1,0x4F,0xD4,0xE2,0x79,0x8E,0x15,0x23,0xB8,
0xC8,0x53,0x65,0xFE,0x09,0x92,0xA4,0x3F,0xD1,0x4A,0x7C,0xE7,0x10,0x8B,0xBD,0x26,
0xFA,0x61,0x57,0xCC,0x3B,0xA0,0x96,0x0D,0xE3,0x78,0x4E,0xD5,0x22,0xB9,0x8F,0x14,
0xAC,0x37,0x01,0x9A,0x6D,0xF6,0xC0,0x5B,0xB5,0x2E,0x18,0x83,0x74,0xEF,0xD9,0x42,
0x9E,0x05,0x33,0xA8,0x5F,0xC4,0xF2,0x69,0x87,0x1C,0x2A,0xB1,0x46,0xDD,0xEB,0x70,
0x0B,0x90,0xA6,0x3D,0xCA,0x51,0x67,0xFC,0x12,0x89,0xBF,0x24,0xD3,0x48,0x7E,0xE5,
0x39,0xA2,0x94,0x0F,0xF8,0x63,0x55,0xCE,0x20,0xBB,0x8D,0x16,0xE1,0x7A,0x4C,0xD7,
0x6F,0xF4,0xC2,0x59,0xAE,0x35,0x03,0x98,0x76,0xED,0xDB,0x40,0xB7,0x2C,0x1A,0x81,
0x5D,0xC6,0xF0,0x6B,0x9C,0x07,0x31,0xAA,0x44,0xDF,0xE9,0x72,0x85,0x1E,0x28,0xB3,
0xC3,0x58,0x6E,0xF5,0x02,0x99,0xAF,0x34,0xDA,0x41,0x77,0xEC,0x1B,0x80,0xB6,0x2D,
0xF1,0x6A,0x5C,0xC7,0x30,0xAB,0x9D,0x06,0xE8,0x73,0x45,0xDE,0x29,0xB2,0x84,0x1F,
0xA7,0x3C,0x0A,0x91,0x66,0xFD,0xCB,0x50,0xBE,0x25,0x13,0x88,0x7F,0xE4,0xD2,0x49,
0x95,0x0E,0x38,0xA3,0x54,0xCF,0xF9,0x62,0x8C,0x17,0x21,0xBA,0x4D,0xD6,0xE0,0x7B};
unsigned char cRealCRC;
unsigned int i;
cRealCRC = 0;
for (i = 0; i < nLenght; i++) cRealCRC = cCrcTable[cRealCRC] ^ cBuffer[i];
return cRealCRC;
}
Ама съм го взел от протокол който ми беше спуснат. И идея си немам как точно се съставя таблицата. И защо е различна с тая на Реконструктора?
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Дек 29, 2004 11:04 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Ако си хитър, можеш да си го наблъскаш в програмната памет.  Само че ще ти трябва 3-4 пъти повече място.
|
| Сря Дек 29, 2004 11:10 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Еба ли го?  Случайни стойности? 
|
| Сря Дек 29, 2004 11:12 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Е .. естествено че е в програмната, аз точно за 200-300 свободни байта в програмната говорех ..... ако още малко поработиш с микроконтролери е дойде момент в който ще спреш да постъпваш като истински Софтуерист /разбирай такъв за РС софт/ ..... това си е доста обем .... имам системка с 12-ки в които толкова ми е почти цялата програма заедно с CRC-то ....
|
| Чет Дек 30, 2004 12:10 am |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Е..да де...ама не го смята толкова бързо като табличния...нали 
|
| Чет Дек 30, 2004 12:21 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
Всичко зависи от това, за какъв обмен става дума. За RS232 на скорости до 19200 нямаш проблем и с PIC дори да го смяташ. А в нашите най-често правени устройства по-големи скорости просто няма.
|
| Чет Дек 30, 2004 1:26 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|