Page 323 - 최강 아두이노 퍼스트 참고서
P. 323

sprintf(tempString, "%04d", deciSecond); //Convert
                 deciSecond into a string that is right adjusted
                   //sprintf(tempString, "%d", deciSecond); //Convert
                 deciSecond into a string that is left adjusted
                   //sprintf(tempString, "%04d", deciSecond); //Convert
                 deciSecond into a string with leading zeros
                   //sprintf(tempString, "%4d", deciSecond * -1); //Shows a
                 negative sign infront of right adjusted number
                   //sprintf(tempString, "%4X", deciSecond); //Count in HEX,
                 right adjusted

                   //Produce an output on the display
                   myDisplay.DisplayString(tempString, 8); //(numberToDisplay,
                 decimal point location)

                   //Other examples
                   //myDisplay.DisplayString(tempString, 0); //Display string,
                 no decimal point
                   //myDisplay.DisplayString("-23b", 3); //Display string,
                 decimal point in third position

                   //Check if 100 ms has elapsed
                   // 100 ms, 0.1 초
                   if (millis() - timer >= 100)
                   {
                       timer = millis();
                       deciSecond++;
                   }

                   delay(5);
                 }

               와이어링 및 업로드 정상 상태인 경우 숫자 증가 하는 것을 볼 수 있습니다.
               위의 코드중 myDisplay.DisplayString(tempString, 8);  DisplayString 이라는 함수가 있습니다.

               SevSeg.h 파일을 열어보면
               void SevSeg::DisplayString(char* toDisplay, byte DecAposColon);  라고 정의 되 어 있습니다.
               2 번째 파라메터는 DOT 표시입니다. 지정된 위치에 점(DOT)을 표시하게 됩니다.

               myDisplay.DisplayString(tempString, 0);   // DOT 표시 안함.
               myDisplay.DisplayString(tempString, 1);   //DOT 표시 1 번째 위치.
               myDisplay.DisplayString(tempString, 2);   //DOT 표시 2 번째 위치.
               myDisplay.DisplayString(tempString, 4);   //DOT 표시 3 번째 위치.
               myDisplay.DisplayString(tempString, 8);   //DOT 표시 4 번째 위치.

               2 번째와 3 번째 위치에 DOT 을 표시하고 싶다면
               myDisplay.DisplayString(tempString, 2 | 4);  // OR 연산자  or 6





                                                   323
   318   319   320   321   322   323   324   325   326   327   328