Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

CRC библиотека
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=13848
Страница 1 от 3

Автор:  ToHu [ Чет Юни 18, 2015 8:37 pm ]
Заглавие:  CRC библиотека

Абе някой да му се намира нещо по универсално ? От години позлвам две, едната е с таблици а другата кода е оптимизира за опредлеени полиноми, та нещо на което д аможе да му се зададе полином. Не че няма да го пренапиша, или по скоро напиша на ново ама .... тук едни умници са сложли полином 2245 и начлана стойност F3A0 ... до де намеря нещо подходящо ... намерих еидн reveng върши добра работа за ривърс а и очудващо бърз.

Автор:  miro_atc [ Чет Юни 18, 2015 9:12 pm ]
Заглавие:  Re: CRC библиотека

Имам доста, ама трябва да знам:
1) типа на crc
2) таргет платформата и нейните особеност (АРМ примерно е бърз в сметките, но бавен с таблици, докато х86 е обратно)
3) Какво целиш - бързо смятане или малко код?

Автор:  ToHu [ Чет Юни 18, 2015 10:01 pm ]
Заглавие:  Re: CRC библиотека

51-ца, CRC-16, полином 2245 ... бързодействието не ми е проблем ... но ако не ти е на лесно не се мъчи, половината го написах :) ... всеки път се хващам че търсейки из архивите от къде да направя copy /paste губя повече време от нужното за написването ;)

Автор:  ToHu [ Чет Юни 18, 2015 10:59 pm ]
Заглавие:  Re: CRC библиотека

Абе написах го и е ОК но ....нещо блокирах ... освен че е нестандартен полино в CRC е litle indian , не мога да вклюа само байтоете на CRC-ти ли се обръщат или и самата таблица трябваше да реверсна ......

Автор:  woody [ Пет Юни 19, 2015 12:04 am ]
Заглавие:  Re: CRC библиотека

Ако забиеш, грабни една бира и свирни. :)

Автор:  ToHu [ Пет Юни 19, 2015 12:26 am ]
Заглавие:  Re: CRC библиотека

woody написа:
Ако забиеш, грабни една бира и свирни. :)

Малко късно го видях.. можеше да гризнем едно джоланче.

Автор:  miro_atc [ Пет Юни 19, 2015 9:33 am ]
Заглавие:  Re: CRC библиотека

снощи бях на домашния комп.... сега гледам, ама crc16-ката съм го писал на асемблер само. Сигурно трябва да го имам и на С някъде, ама щом си се оправил да не ровя.

То и асемблера е достатъчно четим си мисля... Без таблици е щото разликата не е голяма. При CRC32 се получават по-сериозни разлики и там вече има значение, ако някой му трябва ще обяснявам...

Автор:  ToHu [ Пет Юни 19, 2015 2:24 pm ]
Заглавие:  Re: CRC библиотека

Ами направих го да, снощи нещо бях блокирал. Понеже умници са я направили в little endian докато зацепя що не ми излиза чек сумата а аз съм забравил да ривърсвам init стойноста във функцията.
Иначе тоя reveng добра рабтоа върши за ривърс на чексуми, ако не беше той още щях да се блъскам с полинома а и с това little endian.
Е не стана най-добрата библиотека ама ако остане време ... някога ....

Автор:  Н'бабане Гт'муан'га [ Пет Юни 19, 2015 3:05 pm ]
Заглавие:  Re: CRC библиотека

ToHu написа:
Е не стана най-добрата библиотека ама ако остане време ... някога ....


Никога не става най-добрата и "някога" винаги е никога :)

Автор:  ToHu [ Пет Юни 19, 2015 5:31 pm ]
Заглавие:  Re: CRC библиотека

точно това имах в предвид .. е то колко добре може да стане като има една функция в цялата библиотека :) .... ама мързела .... повечето параметри ги направих като хората ама примерно тоя за big / little endian го оставих 1/0, само след 2 седмици няма да знам за какво е тоя параметър и ще трябва да отварям сорса ама .. така е.

Автор:  eng.komitov [ Нед Окт 25, 2015 2:02 pm ]
Заглавие:  Re: CRC библиотека

Аз написах един код за изчисляване на CRC, но не съм сигурен дали съм използвал правилно класа register. Моля за малко помощ . Ето и кода:
void Rx_cicle_over_1W(void)
{
register CRC=0, new_CRC;
int T;
unsigned int i;
bit Rx ;
unsigned char readScM=0xBE;
unsigned char skipROM=0xCC;


init_ds8b20;
send_command(skipROM);
send_command(readScM);
for(i=0; i<63;i++)
{
PORTBbits.RB5=0 ;
for(c=0; c<6; )
{ c++ ; }
PORTBbits.RB5=1 ;
Rx=PORTBbits.RB5 ;
timer_us(26);
new_CRC=CRC;
new_CRC.0=CRC.7^Rx;
new_CRC.4=CRC.3^(CRC.7^Rx);
new_CRC.5=CRC.4^(CRC.7^Rx);
CRC=new_CRC;
if(i<16)
{
T>>=Rx;
}
}
if(CRC==0)
{
Proces_Value=T*0.0625 ;
C_func(T);
char_of_C(C);
I_func(T);
char_of_I(I);
X_func(T);
char_of_X(X);
m_1_func(T);
char_of_m_1(m_1);
m_2_func(T);
char_of_m_2(m_2);
}
else
{
StCom=1 ;
screen=18;
}
}

Автор:  eng.komitov [ Нед Окт 25, 2015 2:57 pm ]
Заглавие:  Re: CRC библиотека

Ще се отклоня от темата, но ми трябва помощ за решаването на следния проблем: при компилиране ми
излиза съобщение за синтактична грешка, която аз не откривам.
#define void 15ms();
void LCD_init(void)
{
unsigned char a;
15ms();
a=0x38;
LCD_instr(a);
5ms();
LCD_instr(a);

5ms();
LCD_instr(a);
15ms();
LCD_instr(a);
15ms(void);
a=0x08;
LCD_instr(a);

a=0x01;
LCD_instr(a);
5ms(void);
a=0x06;
LCD_instr(a);

a=0x02;
LCD_instr(a);
5ms(void);
a=0x0C;
LCD_instr(a);
}
това е фаила в който е грешката
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\mplabc18\v3.47\bin\mcc18.exe" -p=18F67J60 "LCD_init.c" -fo="LCD_init.o" -D__DEBUG -k -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
C:\Documents and Settings\User\My Documents\temperature controler\LCD_init.c:2:Error: syntax error
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\Documents and Settings\User\My Documents\temperature controler\temperature controler.mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Mon Oct 26 13:38:37 2015
----------------------------------------------------------------------
BUILD FAILED
това е съобщението
int C_func(float value);
int m_1_func(float value);
int m_2_func (float value);
int X_func(float value);
void scan_keyb_and_interlock();
void set_cursor (int ADRAM);
void blink_cursor( int ADDRAM );
int 5ms();
void 15ms();
void LCD_init(void);


start:
Tx_cicle_over_1W();
if(pu<1)
{LCD_init();
print_screen(15);
2s;
print_screen(16);
2s;
i++ ;
}
else

а това е част от главната програма в която съм декларирал /процедурата/ файла, в който е грешката

Автор:  ps66 [ Нед Окт 25, 2015 3:31 pm ]
Заглавие:  Re: CRC библиотека

15ms(void);
5ms(void);

!?

Автор:  ToHu [ Нед Окт 25, 2015 8:34 pm ]
Заглавие:  Re: CRC библиотека

а това 2s; какво трвбва да е ? Изобщо 15 ms, 5 ms ... нещо не вдявам, писал си функции за 5 и 15 ms ? И отделно в CRC кода ти не ми изглежда като да смятш CRC но .. знам ли

Автор:  Stoimen [ Нед Окт 25, 2015 11:15 pm ]
Заглавие:  Re: CRC библиотека

Цитат:
#define void 15ms();


А това как трябва да се тълкува ?

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/