Ярлыки

_GetPixelIndex (1) _SetPixelIndex (1) 3-phase (1) 800x480 (1) АЦП (1) генератор (1) синхронный усилитель (2) структура (1) учебный курс (1) шаговый двигатель (1) ШИМ (2) accert (1) AD7608 (1) AD8429 (1) ADC (5) amplifer (1) arccos (1) arcsin (1) arctang (2) arctg (3) ARM (2) arm_sqrt_q15 (2) assembler (6) ASSERT (1) atan (2) bit (1) Bitband (1) boot (3) bootlloader (1) BUTTON (1) C (5) C# (1) CAN (2) CC2530 (5) CMSIS (4) command (1) Cordic (1) Core746I (1) CubeMX (4) DBGMCU (2) debug (2) debug.ini (1) delegate (1) Digital Potentiometers (1) DigitalPOT (1) Discovery (1) DMA (9) DMA2D (1) DSP (1) DSP library (1) DWT (1) EFM32 (5) EmWin (9) EXTI (1) FATFS (1) FMC (2) FreeRTOS (2) gl868-dual cmux (1) GPIO (4) GUI (2) GUIBuilder (1) GUIDRV_CompactColor_16 (1) HAL (3) HappyGecko (1) Hard Fault (2) heap (1) I2C (1) ID (1) ILI9320 (1) ILI9325 (1) Initialisation (1) InitLTDC (1) Instrumentithion (1) Interrupt (4) ITR (1) JTAG (1) Keil (5) LCDConf (2) lock-in (1) LTCD (1) LTDC (3) main (1) memory (1) MINI_STM32 Revision 01 (1) nBoot0 (1) NVIC (1) OnePulse (2) OSAL (4) pack (1) phase (1) printf (3) Pulse (1) PWM (12) RCC (2) RCR (1) Register (1) RESET (2) RS232 (3) RSS (1) RTC (3) RTOS-RTX (1) RTT (1) RTX-RTOS (1) SDCard (1) SDRAM (6) Segger (2) SPI (3) sqrt (3) SSD1298 (1) SSD1963 (1) Standart Peripherial Library (3) STANDBAY (1) startup (1) STemWin (8) stepper motor (1) STlink (2) STM32 (17) STM32429ZI (1) STM32Cube (1) STM32DBG.IN (1) STM32F (28) STM32F0 (4) STM32F1 (13) STM32F4 (10) STM32F4 Discovery (1) STM32F407ZG (1) STM32F429 (2) STM32F746 (1) STOP (1) string (1) struct (1) SWD (1) SWD JTAG (1) Synhronization (1) system_stm32f4xx.c (1) SystemInit (1) SysTick (1) task (4) telit (1) TIM (27) typedef (1) UART (1) USART (9) viewer (2) WM_PAINT (1) Z-stack (5) ZigBee (5)

четверг, 12 ноября 2015 г.

Функции для работы со строковыми переменными (string code)


int strlen (char*p) { int i=0; while( *p++ ) i++; return i;//отлажено } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------//




/////сравнивает две стороки одинаковой /////////////////// int CP(char *buf ,char *subbuf) { int i = 0; while( buf[i] == subbuf[i]) i++; // i--; // if (i f) ) i=0; return (i) ; // отлажено } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// ////выдает первую позицию вхожденя подстроки в строку int Pos(char *buf,char *subbuf) { int i=0; while(*buf) { if (i=CP(buf,subbuf)) break; *buf++;; } return(i);// отлажено } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// */ unsigned int TextToWord(char* s, int s_l) // string to word { double r = 0; while(s_l-- > 0) { if(*s < '0' || *s > '9') break; r = r * 10 + (*s - '0'); s++; } return r; } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// double TextToDWodr(char* s, int s_l) // string to dword { double r = 0; while(s_l-- > 0) { if(*s < '0' || *s > '9') break; r = r * 10 + (*s - '0'); s++; } return r; } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// char l_case_table[256]; #define fast_l_case(c) l_case_table[(unsigned char)c] double HexToDWord(char* s, int s_l) // hex string to dword { double r = 0; while(s_l-- > 0) { char c = fast_l_case(*s); if(c >= '0' && c <= '9') { r = r * 16 + (c - '0'); } else if(c >= 'a' && c <= 'f') { r = r * 16 + (c - 'a' + 10); } else break; s++; } return r; } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// int HexToInt13(const char* s) // HEX TO INT { int r = 0; char c; while( (c = *s++) ) { if(c >= '0' && c <= '9') r = r * 16 + (c - '0'); else if(c >= 'a' && c <= 'f') r = r * 16 + (c - 'a' + 10); else if(c >= 'A' && c <= 'F') r = r * 16 + (c - 'A' + 10); else break; } return r; } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// int HexToChar( char* s,char *buf) // HEX TO INT { int r = 0; char c; int i=0; while( (c = *s++) ) { if(c >= '0' && c <= '9') r = r * 16 + (c - '0'); else if(c >= 'a' && c <= 'f') r = r * 16 + (c - 'a' + 10); else if(c >= 'A' && c <= 'F') r = r * 16 + (c - 'A' + 10); else if( r ) { buf[ i++ ] = r ; r = 0; } } return i; } char Buf_Hex[]= {'0','1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; int CharToHex(char *s,int Count,char* buf) // отлажено { int i=0; char hi,lo,c ; // Returns hex String representation of char c while( Count-- ) { c = *s++; hi = c >> 4; lo = c & 0x0f; buf[i++]= Buf_Hex[hi]; buf[i++]= Buf_Hex[lo]; buf[i++]=' '; } ; buf[--i]=0; return i; } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// int strstr1 ( const char * str1, const char * str2 ) { char *cp = (char *) str1; char *s1, *s2; int i=0; if ( !*str2 ) // если строка 2 нулевая return 0; while (*cp) { s1 = cp; s2 = (char *) str2; while ( *s1 && *s2 && !(*s1-*s2) ) s1++, s2++,i++; if (!*s2) return i;// позиция cp++; } return(0);// если строка 1 нулевая } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// void IntToText(long Value, char *Buf) { //// Convert value char BCD[4]; char j=0, i = 0,Count =5 ,c; bin2bcd32(BCD, Value); // Buf[0]=BCD[0]; while( Count-- ) { c=BCD[j++]; if (i||c>>4) Buf[i++]= (c >> 4 ) + 0x30; if (i||c) Buf[i++]= (c & 0x0f) + 0x30; } Buf[i]=0; } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// void Sleep (int mSek )//пауза в мсек отлажено { int h,i,j; h = mSek; for ( j = 0; j < h ; j++) for (i = 0; i < 2000 ; i++); } #endif //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------// void Load(char *Buf1,char *Buf2) // загрузить из массива Buf2 в массив Buf1 отлажено { int i=0; do { Buf1[i] = Buf2[0]; i++; } while( *Buf2++ ) ; } //----------------------------------------------------------------------------------------------------------// //----------------------------------------------------------------------------------------------------------//

1 комментарий:

  1. VarangaOfficial - варанга инструкция по применению - только достоверные и проверенные факты. Воспользовавшись данным интернет-порталом, вы сможете узнать полную, всеисчерпывающую информацию касательно этого натурального лекарственного комплекса. Увидеть данные о клиническом тестировании геля, прочитать реальные отзывы пациентов и врачей, использующих крем в своей лечебной практике. Ознакомиться с инструкцией по применению, прочитать особенности и методы работы мази, уяснить, как работает крем Варанга, где необходимо заказывать оригинальный сертифицированный препарат и, как избежать покупки подделки. Мы тщательно проверяем размещаемые на сайте данные. Предоставляем нашим пользователям сведения, которые были почерпнуты исключительно из надежных источников. Если вы обнаружили у себя признаки появления грибка или же долго и безрезультатно стараетесь избавиться от этого коварного, неприятного недуга, наш сайт покажет вам быстрый и простой способ решения проблемы. Приобщайтесь и живите здоровой полноценной жизнью. Теперь все ответы на самые популярные и волнующие пользователей вопросы, собраны на одном ресурсе.

    ОтветитьУдалить