mbed5b

Dependencies:   mbed

Committer:
Robsonik16
Date:
Fri May 05 20:00:16 2017 +0000
Revision:
0:d546b014a1e3
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Robsonik16 0:d546b014a1e3 1 #include "string.h"
Robsonik16 0:d546b014a1e3 2
Robsonik16 0:d546b014a1e3 3 void CopyString(char pcSource[], char pcDestination[]){
Robsonik16 0:d546b014a1e3 4
Robsonik16 0:d546b014a1e3 5 unsigned char ucCharacterCounter;
Robsonik16 0:d546b014a1e3 6
Robsonik16 0:d546b014a1e3 7 for (ucCharacterCounter=0;(pcSource[ucCharacterCounter]!=NULL);ucCharacterCounter++){
Robsonik16 0:d546b014a1e3 8 pcDestination[ucCharacterCounter]=pcSource[ucCharacterCounter];
Robsonik16 0:d546b014a1e3 9 }
Robsonik16 0:d546b014a1e3 10 pcDestination[ucCharacterCounter]=pcSource[ucCharacterCounter];
Robsonik16 0:d546b014a1e3 11 }
Robsonik16 0:d546b014a1e3 12
Robsonik16 0:d546b014a1e3 13 enum CompResult eCompareString(char pcStr1[], char pcStr2[]){
Robsonik16 0:d546b014a1e3 14
Robsonik16 0:d546b014a1e3 15 unsigned char ucCharacterCounter;
Robsonik16 0:d546b014a1e3 16
Robsonik16 0:d546b014a1e3 17 for(ucCharacterCounter=0;(pcStr1[ucCharacterCounter]!=NULL)&&(pcStr2[ucCharacterCounter]!=NULL);ucCharacterCounter++){
Robsonik16 0:d546b014a1e3 18 if(pcStr1[ucCharacterCounter]!=pcStr2[ucCharacterCounter]){
Robsonik16 0:d546b014a1e3 19 return NOTEQUAL;
Robsonik16 0:d546b014a1e3 20 }
Robsonik16 0:d546b014a1e3 21 }
Robsonik16 0:d546b014a1e3 22 if(pcStr1[ucCharacterCounter]!=pcStr2[ucCharacterCounter]){
Robsonik16 0:d546b014a1e3 23 return NOTEQUAL;
Robsonik16 0:d546b014a1e3 24 }
Robsonik16 0:d546b014a1e3 25 return EQUAL;
Robsonik16 0:d546b014a1e3 26 }
Robsonik16 0:d546b014a1e3 27
Robsonik16 0:d546b014a1e3 28 void AppendString (char pcSourceStr[], char pcDestinationStr[]){
Robsonik16 0:d546b014a1e3 29
Robsonik16 0:d546b014a1e3 30 unsigned char ucCharacterCounter;
Robsonik16 0:d546b014a1e3 31
Robsonik16 0:d546b014a1e3 32 for (ucCharacterCounter=0;pcDestinationStr[ucCharacterCounter]!=NULL;ucCharacterCounter++){}
Robsonik16 0:d546b014a1e3 33 CopyString(pcSourceStr,pcDestinationStr+ucCharacterCounter);
Robsonik16 0:d546b014a1e3 34 }
Robsonik16 0:d546b014a1e3 35
Robsonik16 0:d546b014a1e3 36 void ReplaceCharactersInString(char pcString[], char cOldChar,char cNewChar){
Robsonik16 0:d546b014a1e3 37
Robsonik16 0:d546b014a1e3 38 unsigned char ucCharacterCounter;
Robsonik16 0:d546b014a1e3 39
Robsonik16 0:d546b014a1e3 40 for (ucCharacterCounter=0;pcString[ucCharacterCounter]!=NULL;ucCharacterCounter ++){
Robsonik16 0:d546b014a1e3 41 if(pcString[ucCharacterCounter]==cOldChar){
Robsonik16 0:d546b014a1e3 42 pcString[ucCharacterCounter]=cNewChar;
Robsonik16 0:d546b014a1e3 43 }
Robsonik16 0:d546b014a1e3 44 }
Robsonik16 0:d546b014a1e3 45 }
Robsonik16 0:d546b014a1e3 46
Robsonik16 0:d546b014a1e3 47 void UIntToHexStr (unsigned int uiValue, char pcStr[]){
Robsonik16 0:d546b014a1e3 48
Robsonik16 0:d546b014a1e3 49 unsigned char ucBierzacaTetrada;
Robsonik16 0:d546b014a1e3 50 unsigned char ucLicznikTetrad;
Robsonik16 0:d546b014a1e3 51
Robsonik16 0:d546b014a1e3 52 pcStr[0] = '0';
Robsonik16 0:d546b014a1e3 53 pcStr[1] = 'x';
Robsonik16 0:d546b014a1e3 54 pcStr[6] = NULL;
Robsonik16 0:d546b014a1e3 55
Robsonik16 0:d546b014a1e3 56 for(ucLicznikTetrad = 0; ucLicznikTetrad < 4; ucLicznikTetrad++){
Robsonik16 0:d546b014a1e3 57 ucBierzacaTetrada = (uiValue >> (ucLicznikTetrad*4)) & 0xF;
Robsonik16 0:d546b014a1e3 58 if(ucBierzacaTetrada < 10){
Robsonik16 0:d546b014a1e3 59 pcStr[5 - ucLicznikTetrad] = '0' + ucBierzacaTetrada;
Robsonik16 0:d546b014a1e3 60 }
Robsonik16 0:d546b014a1e3 61 else{
Robsonik16 0:d546b014a1e3 62 pcStr[5 - ucLicznikTetrad] = 'A' + ucBierzacaTetrada - 10;
Robsonik16 0:d546b014a1e3 63 }
Robsonik16 0:d546b014a1e3 64 }
Robsonik16 0:d546b014a1e3 65 }
Robsonik16 0:d546b014a1e3 66
Robsonik16 0:d546b014a1e3 67 enum Result eHexStringToUInt(char pcStr[],unsigned int *puiValue){
Robsonik16 0:d546b014a1e3 68
Robsonik16 0:d546b014a1e3 69 char cZnakBiezacy;
Robsonik16 0:d546b014a1e3 70 unsigned char ucLicznikZnaku;
Robsonik16 0:d546b014a1e3 71 *puiValue=0;
Robsonik16 0:d546b014a1e3 72
Robsonik16 0:d546b014a1e3 73 if((pcStr[0] != '0')||(pcStr[1] != 'x')||(pcStr[2] == NULL)){
Robsonik16 0:d546b014a1e3 74 return (ERROR);
Robsonik16 0:d546b014a1e3 75 }
Robsonik16 0:d546b014a1e3 76 for(ucLicznikZnaku=2; pcStr[ucLicznikZnaku]!=NULL; ucLicznikZnaku++){
Robsonik16 0:d546b014a1e3 77 cZnakBiezacy = pcStr[ucLicznikZnaku];
Robsonik16 0:d546b014a1e3 78 if (ucLicznikZnaku>=6){
Robsonik16 0:d546b014a1e3 79 return (ERROR);
Robsonik16 0:d546b014a1e3 80 }
Robsonik16 0:d546b014a1e3 81 *puiValue= *puiValue<<4;
Robsonik16 0:d546b014a1e3 82 if((cZnakBiezacy>='0')&&(cZnakBiezacy<='9')){
Robsonik16 0:d546b014a1e3 83 *puiValue= *puiValue + (cZnakBiezacy-'0');
Robsonik16 0:d546b014a1e3 84 }else if((cZnakBiezacy>='A')&&(cZnakBiezacy<='F')){
Robsonik16 0:d546b014a1e3 85 *puiValue= *puiValue + (cZnakBiezacy-'A'+10);
Robsonik16 0:d546b014a1e3 86 }else{
Robsonik16 0:d546b014a1e3 87 return (ERROR);
Robsonik16 0:d546b014a1e3 88 }
Robsonik16 0:d546b014a1e3 89 }
Robsonik16 0:d546b014a1e3 90 return (OK);
Robsonik16 0:d546b014a1e3 91 }
Robsonik16 0:d546b014a1e3 92
Robsonik16 0:d546b014a1e3 93 void AppendUIntToString (unsigned int uiValue, char pcDestinationStr[]){
Robsonik16 0:d546b014a1e3 94
Robsonik16 0:d546b014a1e3 95 unsigned char ucLicznikZnakow;
Robsonik16 0:d546b014a1e3 96
Robsonik16 0:d546b014a1e3 97 for (ucLicznikZnakow=0; pcDestinationStr[ucLicznikZnakow]!=NULL; ucLicznikZnakow++){}
Robsonik16 0:d546b014a1e3 98 UIntToHexStr(uiValue, pcDestinationStr+ucLicznikZnakow);
Robsonik16 0:d546b014a1e3 99 }