˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C...

96
IPST-MicroBOX C programming Reference manual ¤ÙÁ×Í¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺ㪧ҹ¡ÅͧÊÁͧ¡Å IPST-MicroBOX

Transcript of ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C...

Page 1: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��1

IPST-MicroBOXC programming

Reference manual

���������� ����������� ������������������������

� IPST-MicroBOX

Page 2: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

2������������� ������������������������������������ IPST-MicroBOX

IPST-MicoBOX C programming Reference Manual

���������� ����������� ������������������������� !"#$%&'()*+,

���-���������������.

�������������� ����������������������������������������� ���!���"�!�����"�#������� #�$%������&�"'��'������� �#�(�)"�������������*%����&�"'������ �#�������'�(�+���$%���������,��)�"� !&���!���"�!�����"�#��,��+������"�

-���.�������������!�'������������(����������������/&����������"���$�"���0���"����#(�)"1����$���������"���0���"����#����"�2��� "�#

3���4����#������� %"'������������� ������������"���$���!���"�!�����"�#����.�'������� �#����� #�� %"'����*�4���������*%��'"���0���"����#5��!���"�!�����"�#5����6�!�������"�2��� "�#5����&�"'��'������� �#�����&����7�������"�$�������������88� �

�������������� ��������� ����������� �������������� !�"#$�� ���$���$ �� %&'()*+,-./01�2��� ��3�45������$���������6#4�6��� �7�����#���4����!��89���6� 3#�$�� ���:����3#�$����;�����4����7<$�� ��� ��5 7=�79�2��7����4���������� ���5� =5� ������#�������� $���������>;��"#�!�=� ��=����43�?��@ �7��=���39�5�� ��=;#�������� ��� !2="�!�3���� �����4��2=7����������������5�����;#� ! ��5 7=�79�2��7���� ;�� >���$!�=� A�5�7�����"�>�5$���� #;��� ��5 7=�79�� >$3��;�

������������� �������������������������

�#�� ���� �����;��4����4���<�$��4����$�� $���������>� �� 5� 5�;#� !��:B�3

& ����������&2��2#���� �(�+�!&�/��0��/���-1�2��3�4�/��15�6����73�339:3�;���6�������<�9-�.���6�������6�'��'����6 ��'������'��2=��<-><!����2�#��8$9:;:$:88<$;!����� 8$9:;:$:88=

Page 3: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��3

��������� ������ � IPST-MicroBOX

$�&��+"'��"'����$+��+'�������� ���6"'�������(%�������&��%�'����#� ��%�'������6�?����6��"�2��� "�#��&%2�@��$�&��+"'��"'����������.� ����*�4���������$�")��A��&%������&� �6�?��$%�&%�"'�!&�$%"����4#����.*�

�� .�����'�#�����& ��������!��'����?�)"���2)�"2�@��$�&��+"'��"'�������%�����*�4����-��2)�"��,� ��"+�'(�)"��'��)"�� �(�����*5"����#�������&�����������������"��(%��,��� ��

(����* ���������6�?�2)?�B���.�����+'���������"�������� �#������!�!�� C�����D� �&%2�@������������'�(��'�)"�����*+�)"

����)�"����������"� +�'A�"+�' +"��)�"'��2)�"�(%��*�$%�������&�����������������"��(%�"&��%"'���(����* ���������6�?�2)?�B������2����$��88� ����������(+'$� ��2�����-:E-

��6��"�2��� "�#��'�(0��������&� �!��'���2�@��$�&��+"'��"'��6�?�� �2)�"��,��)�"��'��)"�(���'� �(�����*F*%�"��������&����������"���$����!���������$�!��''�������&����7�������$�&����������"��?����%������&��������������*%����*�4������������&%�*%�������"���0���"����#��)?"' %������6�!�������2)�"������� ��!���"�!�����"�#����� �!��''��;��' %"'�*�4���������$��G/����#� ����$�������4� ��� �#� ����"�2��� "�#�6%�&%�����;��'��� ��(%����������"�������+�����������,�"������'(���'������"��2)�"�(%�������������6�!��������*%�����&�������(#�����%�H8(���?'����$�����������$�� ���� ����

��6��"�2��� "�#�&%�(0������ ���86"'!��'����?�����&%����2�@��$�&��+"'��"'���� �?'� +��I�2��-:E>������*�#�&�"'������ �$�&�� ��+"'��"'�����$%��?'(�&�����*�#��)"����I�-:E>���*�#�&�"'� ����:��*�#��)"�!�'�����8����$*������������7�����$J�!�'����%���(�����������2$����J�!�'�������48����#����������J�!�'�����"'������������"'�����!�'���"� �&� .#&��4����"� �&� .#������I�2�����-:EK��*�#�&�"'� �����>��*�#��)"�!�'�����'����%��L��*'�����F&�'���#M������2��4���J�!�'�������+"2����������$���J� !�'�����8���1��������������N��$�'����J� !�'�����O�1�4��$���������������7�����$J!�'����%"�"0&�����������%"�"0&����!�'������'(�����������"+�'�"'

6%"�*��2���� ��6"'!��'����?�����. �& ���&%���PQQRS99TPT�URVQ�WX�QP�!&��)"��6%�����(�%�6"'�!��'���$�&��+"'��"'��� � !&������; #�'����&��.�� "��2)�"�������������������4#�����2�@��$�&��+"'��"'��&%�

����������� ��������������������������������� !�"#$��%���&��'( �#�)$�%*�!� %+�%)(���)%� (�,�-�%#)$.�/��&0 0�,�� 1%% ��2

Page 4: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

4������������� ������������������������������������ IPST-MicroBOX

����

�00�>�<�2?��5��>���@A�������������������������B7������������ !"#$%&'()*+,����������������������:

�������������GH'�#$���

��-��������$%GH'�#$���

��3�������

��E�$��&6"'6%"�*������������� �������1����Y

��:����� ����6B����1����Y

��>���������� �����

��K�������'$��&6"'6%"�*�

��Z������"&6"' ����������

�00�>�9�1�-7���/�������������������C&DEFG����A4��5�����������

������������0�>������B7������������ !"#$%&'()*+,������������������������������������������������������������������-:

-��� ��& ����������'�4� ��� �#

-�-� ��& ��������&%���������2��7#����"���

-�3� ��& ����������'��

�00�>�H������>��-��B�1���I����������0�>������B7������������ !"#$%&'()*+,��������������3:

3���� ����'�U[

3�-�� ����'� U[5\]V\

3�3�� ����'� V^UQXP���XWV\

3�E�� ����'� [T_

3�:�� ����'�^PU]\

3�>�� ����'�`T5^PU]\

Page 5: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��5

�00�>�;��B7�����>��� ��A�����&JKL�0�>������B7������������ !"#$%&'()*+,������������������EaE���$�&� ����'�����������$%'��2"�# "��2� 9�"� #2�

E�-�$�&� ����'(�+�'����

E�3�$�&� ����'� �(���"+���+�"����"�

E�E�$�&� ����'� �(����������(�)"����+�����

E�:�$�&� ����'� �(�����&'F���� bcd

E�>�$�&� ����'6���"� "�#�G �'

E�K�$�&� ����'��� $#������� �(����F'�'���dUVR]We5UT

E�Z�$�&� ����'� �(�����&'F�6%"������!�&*��bYd

E�a�$�&� ����'� �(������5�+'6%"�*�F+��2"�# "�����

E��<�$�&� ����'� ����&��'

�00�>�=�A������1M������C&DEFG����A4��5�������������������������������������������������������������K::����������fWQP�P

:�-��������VQ_Ugh�P

:�3��������VQ`]Ui�P

:�E��������XQeR\�P

:�:��������VQ`UT�P

����

Page 6: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

6������������� ������������������������������������ IPST-MicroBOX

Page 7: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��7

� �!�"�#$��%��!���&'�����������������

�������()������������ IPST-MicroBOX

����������� ���������������������������������� !����������"#$�%������������&�����������������'�&�����(�)%)&������*�������*����(%)&�������(+(��(�,,*���(�)%)&���������������#"��-����������(�.*�/��/�0/+��������������"�#�����������/���������������-����&���1#�����������������+���(�)%)&������������������20����������$�/#���/���3+(���$�1/���&���1#����������������)��%/�#�0���"#%)&������#�0�2�,*�� ��#�+�����������������#��3���&��2�������/�����������#"��-�*,/,/��� �,���������)����$���������+4�2"#����'�&��������$�$�&)%�5�����1������������ � ������,���

��������������� �������0��$$,�����

return_type function_name(parameter1, parameter2, ...){

command_list 1;........................................command_list n;

}

������ function_name������ �� ������return_type��������� ������������������������������� !��"��� ������������#$

"���%�&�� �return(value)� '��&� ��������������()� ����� ������value����&� ����*�$ '+,�����'���*��-�return_type� '��+. ����*�������������$'���$�������-������ �&%�/��-�� ���������0�������������1234526�78953:����;%��/�� �return_type�$ ;� +� ��<'+,��void

parameter� ����&�*���������+� ��<����������� ��� ;�*�+�����%�����-������&� ����"/���-�� ������� � �$$ ��� =� ;�*� /�/���>�;�*�?0��� /��$0����'���?0��� �)#������-���"�� ��� �� ��������#�>@��/���� ������0�����A828B3432���-�����$$ +� ��<'+,��7CDE�/�'*��*�� 0��+� ��<�?0��

Page 8: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

8������������� ������������������������������������ IPST-MicroBOX

command_list 1... command_list n������%�&�� ;�� >���������"��� �������()� '��$-=��%�&�� $ ;� +F�������*�'��� /����G��'&�

������������������ ���value������������������������������������������������� ���!"#��$%"&

&)���$����������������%"�%�6���78������+(��%)&����return�&)���$&��%�6���78�����+������������/�����������,����������0��$$,�����

return(data);

������ data������������������������*�������������--'���*��-�return_type�� �� ���������'�����#��$�%�"/�'���������������'���$�����������0��

��������������������� ���������������/��������������*,/20�&�/�14����"#������(�.*�/����$�/#���/��&��2�������/

*,/�������������main���"#����������#"��-�9�%�����(&����,������������/�3�7���������"�#1#��������������-���(�)��,%�1/#�0��7"�#&����/��$7��:�9#����,�9/#��)��,��/���(&���$��:,1/#�0���(20�9/#�9��),�$1#�7��:�9#�����������(�.*�/,/��� +(�����1/#�0����&��6��*���/7��:�9#�����������������

�0��$$����������������function_name(agument1, agument2,...)

������ function_name������ �� ���������;� �����+� ��<0*����/�����#���*

agument�����������������&� ����0+"/���-;�*�+��parameter�"��H '����"���� ��������#�>�������;��%���-"����"&������*���;�@��/���� ���������'����"�� ��'+,��--0����������';����?0��;� "&���� ��*'��;�

&)���$����������������%"�%�6���78����"�#�����������/��+(%"�%�6���78�+�����(���6�$�#����������������;4����:,1#�1/#�0����%"�%�##������&��2,0*,/+�&����return_type1#�����(�.���������� � �,���$�%����#+��%��+)��'�9/#���/9������)���$%�6���78������;4��9�����,������%������:,1/#�0��$$�,�����$�return_type�1#������������:��������#+�)��/��:,1/#6:,7�,�����:,+���:,1/#�0�*,/

Page 9: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��9

���������� � +� ��<�� ������

void tone(void){

beep_b(2); // '(���)������*" �++�,� �-��.�����/sleep(1.0); // ��������.��*���beep_b(2); // '(���)������*" �++�,� �-��.�����/

}

$��;�*��� '+,����+� ��<�� �������� tone����0���������������������� 0����������';���!��"��� ������'+,�����%�/��"/��%�'���&�II�H'&�� �=�$� /* ����*/��* '*���=�*������$����#�'������ �������%�'���'&�� ��#�����#

&����@�%���'����"�� ��!��"��� �������B8D6� 0���� ��#void main(){

................ // ��� ���!"#tone(); // ���-�!)&��'(���)�� tone............... // ��� ���!"#

}

��� � ��������&������" �0����-������&���������������1��� &���0�����������23456789�����:"�;7<

���������� ��+� ��<�� ������

void tone(unsigned int delay)

{

beep_b(2); // '(���)������*" �++�,� �-��.�����/sleep(delay); // '(���)�����������=��� &�=>��delay������0� &�=�beep_b(2); // '(���)������*" �++�,� �-��.�����/

}

$��;�*��� '+,����+� ��<�� ���������tone ���0������������������������� �������-���&� ����������';��������delay�()� !��"��� ������'+,����'������ �������%�'���&�II�H'&�� �=�$� /* ����*/��* '*��;����������� ������';���delay� "�/��*������*������ ���*'������ �������%�'���&�II�H'&�� �=�$� /* �����# /�)�

;�*��� '����"�� ��!��"��� �������main� 0���� ��#void main(void){

................ // ��� ���!"#tone(200); // ���-�!)&��'(���)���?6@A���/��������/����� �-��<BB�=*��*�*���............... // ��� ���!"#

}

��� � ��������&������" �0����-������&���������������1��� &���0�����������23456789�����:"�;7<

Page 10: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

10������������� ������������������������������������ IPST-MicroBOX

���������� ��

+� ��<�� ������float sum(float x,float y)

{

float z; // ��/��C��������$0����������������0����z = x+y; // ��$0����������������0���� ���x���/�y������0=��������=*�����return(z); // ������������������ &�=>� ���z����������-�'(���)��"&�-��� ��� return

}

$��;�*��� '+,����+� ��<�� ���������sum����������������������������������� �����'+,��J9C84�� �������-�������������';���x��� �y�������� �������sum�$ ������������$�����-*����� /*�� �x��� �y�����*��%�&�� �return(z);�����'

&����@'����"�� ��!��"��� �������main� 0���� ��#void main(void)

{

float result; // ��/��C������� result

�������%���0��������������������� ��// '(���)�� sum

................ // ��� ���!"#result = sum(14.0,3.0); // ���-�!)&��'(���)�� sum 1"-���"����/�*��=�� x = 14

// ��/ y = 3// ���!&�result�=����������0�.D����������-�!)&��'(���)���sum

lcd(“result = %f “,result); // ������������result�=�� "����1=">� LCD................ // ��� ���!"#

}

��� � ��� E� ���&������" �0����-������/�&���*"������������ "�����/����������/ ���FG3HIJKLM36N� � &���0�����������23456789���/�������� "�����/����������/ ���� FG3HIJKLM36N����/�&����"���*�=��*=� ��������%=�%"&��=�->�!):"����� =����� O;PQM23456789� !�:���*�=�&��/�:�=���R�

Page 11: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��11

���������� ��

&��� �� ������'�����%��� "�>�'��/������������ '�����%��� �����;�# ���� ������'+,��power��� "/��������-���������';���K�;�*����;�*�������L���x��� ������';��;�*���& �����%��� �y

float power(float x,float y) // '(���)���power����=������0��/����� &�=>�)*"�float{

return(exp(y*log(x))); // ��0���R��x���/����������y�=�����, ��&�������������}

&����@'����"�� ��!��"��� �������B8D6� 0���� ��#

void main() // '(���)����� ��1�����={

lcd(“result = %f “,power(2.0,4.0)); // � "������������<S����1=">��TUGwhile(1);

}

$��;�*��� '+,����&��� �� ���������power�'��"���%��*H/����� '�����%��� "�>�����"��+�����MD6NOP��� 0�������� ������&�*���#��"/���;�"�;�*��� ��#0���%�'&�*������+� �Q�;�&��� $���� ���������"���%��*H�� �H�;<�&;������MD6NOP�����"/��()� 0�����

�� �������exp�1$��0�-�����B84RSR�� � --:�"��&%�/��-/����'��L���3����%��� "�>�13TKSU=:

�� �������log�1$��0�-�����B84RSR�� � --:�"��&%�/��-/�������)�L���3�� ;�*'��"�>

$���*������� �H�;<�&;�����*��

1=:� xyx y ln.ln =

1K:� xe x =ln

1V:� xyx y lnln =

�� ��#�� xyxy eexy ln.ln ==

�� �%���'����'+,��� ������"�����%��*H����������0��'+,�

( )( )xy logexp �()� ������������$��� yx�� ��#��������$���+�������#'��&�� �������������WXY�$ �&� ���*�����������������

()� �?��������� �KZ��;����*�� *� "����'����"���� ��������#�?�����+.����������';��� ���L���� ����%��� $ ;� +.�'+,����$%��*�$�� �--�float���# ������ ��#�"��+�����$) +.����'+,��KS[��� �ZS[�;���%���-

��� � ��� E� ���&������" �0����-������/�&���*"������������ "�����/����������/ ���FG3HIJKLM36N� � &���0�����������23456789���/�������� "�����/����������/ ���� FG3HIJKLM36N����/�&����"���*�=��*=� ��������%=�%"&��=�->�!):"����� =����� O;PQM23456789� !�:���*�=�&��/�:�=���R�

Page 12: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

12������������� ������������������������������������ IPST-MicroBOX

���������� ��int result1 = 0; // ������ result2 ��$0��� &�=>��00�3@?int result2 = 0; // ������ result2 ��$0��� &�=>��00�3@?float result3 = 0.0; // ������ result3 ��$0��� &�=>��00�VJ6K?float result4 = 0.0; // ������ result4 ��$0��� &�=>��00�VJ6K?int sum(int a , int b)

{

return(a+b); // ������������������0�����/�����a���/�b}

float mul(float x , float y)

{

return(x*y); // �������������������>,���/���� x���/ y}

void main(void) // '(���)����� ��1�����={

result1 = sum(18,7); // !&�����������=�� 18+7=25result2 = sum(12,4) + sum(4,9); // !&�����������=�� (12+4)+(4+9)=29result3 = mul(10.0,50.0) + mul(4.0,5.0);

// !&�����������=��(10*50)+(4*5)=520result4 = mul(12.4,2.6) + (float)sum(8,7);

// !&�����������=�� (12.4*2.6)+(8*7)=47.24}

������ �����!"#$%&%'(�������������� �������������������������������������������� !��������� �������"#$���

���������!���%�$�& ���'����( ������)������ �����'�����&�����5���/����+(9����"�#*���*�$��������/&#,%�/#���$��<��1#������������"#����/�����(���9�#���������/��%����9�#*�

�����������<���,��������������/��$�#�-�����7�=��������%���)�&�/���'�*���*�$�����(+�,��3$*�/� � ��"�#9/#�����/���3�7�����(�.����9*��>� ?@ABCBCD@EF�1#��"�#*�$���*������&�/�*�/��#���/���� �7"�#6���*�$�����������*�/�����)����$�����������)���7�=�#�0������+�����+(�)��/60/7�=�&��2�������/��������������$��+<#�0����*���*�$���,������*,/� ?1���9#��������+(20���"�#��������(�����GHI�JCKL B���(�M !GHI��,�60/7�=�+(9/#��($<781#�1#�*�$�������������/��/��$��$�GHI�JCKL B�#���#,��4��F

Page 13: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��13

���������)������ ����

��&�/�*�$�����������+(%�/�-���$��&�/�*������������ ������'�*�����&�<�� NO9���9:�9�����9������ *���*�$���+(*���������������� ?������������ !F����P7(9�����������9��-���9/#���$��+<����*���*�$������($���4���/��'�*�����&�<�� NQ����

&��9:���9/#���&�/�*���*�$����"�#��RK!OS��CQ��,�������$��+<����������sum���( mul����%���'�9��#�����#���/���� +(�)*,/,�����

?TF���U,*�������+����0%)&����V WE���XEY�V WE��7"�#��U,��/9������

?ZF�7:�7�����������sum���( mul�������/9��1#�*�������,�����int sum(int a , int b){

return(a+b);}float mul(float x , float y){

return(x*y);}

?[F�+����0%)&����V WE�J�\E�G]NNN�����+�����+�,��3$*���*�/��78���9/#����,�9����"�#��'��RK!OS��CQNQ�,��������%����9�#*�60/7�=�&��2�������/���RK!OS��CQNQ����0��$$*���*�$���*,/��/�

������������������� ����

����+����60/7�=�*,/&�/�*���*�$�����(+�,��3$����$�/#���/��60/7�=�&��2�������/��������������$��+<#�0����*���*�$����,-�*,/��,�6���*���*�$�������,/������(�.*,��3�9��*�/��&������1#��������,�����

#include <library_filename>

��"##include “library_filename”

������ library_filename�����0���0�-��������%����+� ��<

����

#include <tone.h> �+� ��<"/����$���� ������!��"�0���0�-����������tone

Page 14: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

14������������� ������������������������������������ IPST-MicroBOX

����(�.�,���/*,���9���#include��)��/��������0/+����$������������*�$�������)����(�.� � ��"�#�������/��������������#�0����*�$�������-���/��+(�)��/�������%�������(�)����"�#����*,/20�9/#�

9�#*���'�9��#������,&#$�������/��+�*�$���� RK!OS��CQ����*,/��(�)��&�/���(+�,��3$*�/��#���/�����/�

���������� ��

1=:�&��� �+�'$?�;�"/����� 43\4]9D^

1K:�������+������ "�/���;�� � 0���� 43\4]9D^S_#include <func_math.h>void main(void){

while(1){

lcd(“Return %f “,mul(7.3,12.0));}

}

1V:��%�/�����"/���-0�-����� J56_]B84RSR�$��'����`2Ca3_4���XC6JDb5284DC6�cA4DC6\����*'��0���d6_95E3�YD23_4C2D3\�/�� $����#��%�/�����'��� 0+�� 0���� J56_]B84RSR

1Z:��%������0�������&�� �e5D9E��+�'$?�;�'��"/�0��0�����������43\4]9D^SR3f

1g:���*���/���43\4]9D^SR3f

1h:�������������������WXY�$ �&� ���*���� ������������

����������������

! ����� ��1�����=%"&=������/��C��������-�!)&��'(���)��!%'��%�0����� VW@4XYK?Z[34� %"&� F!1�����=�/���-�!)&'(���)���mulN� ��������!�main� 1�����=�/=�������-�!)&��'(���)���mul� !&��������0=�� "������1=">��TUG������� "������������������>,���/�����D[\���0�.<[B

��� � ��� E� ���&������" �0����-������/�&���*"������������ "�����/����������/ ���FG3HIJKLM36N� � &���0�����������23456789���/�������� "�����/����������/ ���� FG3HIJKLM36N����/�&����"���*�=��*=� ��������%=�%"&��=�->�!):"����� =����� O;PQM23456789� !�:���*�=�&��/�:�=���R�

Page 15: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��15

��*����+,��,���-�.�������������.����/�0��1M !GHI������'��������� �%#�*7��#��*,/7�=��+��GHI^_ �,��������:,1#�1/#�0�

+(��'�*�9����)��,+��GHI^_ �;4��&��2&�<�*,/,�����

� �!"#��$%"�������� " �!"#��$%

_R82 '+,����������$%��*�';?������i�-�;�--���'��� /���������"� ��* ��j=Ki�@) �k=KU

56\Db63E�_R82 '+,����������$%��*�';?������i�-�;��--0�����'��� /���������"� ��* �[�@) �kKgg

D64 '+,����������$%��*�';?������=h�-�;��--���'��� /���������"���* �jVKlUhi�@) �kVKlUhU

56\Db63E�D64 '+,������$%��*�';?������=h�-�;��--0�����'��� /���������"���* [�@) �khggVg

9C6b '+,����������$%��*�';?������VK�-�;��--���'��� /���������"���* ���jKl=ZUlZiVlhZi�@) �kKl=ZUlZiVlhZU

56\Db63E�9C6b '+,����������$%��*�';?������VK�-�;��--0�����'��� /���������"���* ����[�@) �kZKmZmhUKmg

9C6b�9C6b '+,����������$%��*�';?������hZ�-�;��--���'��� /���������"���* �jmKKVVUK[VhigZUUgi[i�@) �k�mKKVVUK[VhigZUUgi[U

56\Db63E�9C6b�9C6b '+,����������$%��*�';?������hZ�-�;��--0�����'��� /���������"���* �[�@) �k=iZZhUZZ[UVU[mgg=h=h

J9C84��� �EC5^93 '+,���������������VK�-�;� "��������������$%��*�$�� ���'+,�'���<����

8228n\ ��Q�������/���Q��� ;�*�+����@��+� ��<�)#���������������'/������� ����'��&� /��*��*��$%�;����

ACD6432\ '+,�������������"���� � @) ��'��&� /��*��*��$%�

\425_4523\ '+,����$����Q�������������*���;�;�� �������0��

Page 16: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

16������������� ������������������������������������ IPST-MicroBOX

��2��� �����,3����/�0��1�($$9����1�����/����������� ���,/������[��$$%"#

TN�9����1`�&:$���/�)��,%���/��$9�������"#��%)������������*,/����-*�

ZN�9����1`�&#�����0��$$���1���%"#�0bBBBBBBBB

�,�����a�%"#9����1�b���"#�T

[N�9����1`�&:$������0��$$���1���%"#�0xHHHHHHHH

�,�����c�%"#9����1�b^d���(�G^V���������� �&

'��L��& �i�-�;'����[^=[[=[[=[�'���-'�����-�=Zh�L��&�-�%��*H$�� 1=fKU:�k�1[fKh:�k�1[fKg:�k�1=fKZ:�k�1[fKV:�k�1[fKK:�k�1=fK=:�k�1[fK[:�T�=Zh=[

���������� �''��L��& �=h�-�;�'����[^====[=[[===[==[=�'���-'�����-�hKU[=�L��&�-�%��*H$�� 1=fK=g:�k�1=fK=Z:�k�1=fK=V:�k�1=fK=K:�k�1[fK==:�k�1=fK=[:�k�1[fKm:�k�1[fKi:

k�1=fKU:�k�1=fKh:�k�1=fKg:�k�1[fKZ:�k�1=fKV:�k�1=fKK:�k�1[fK=:�k�1=fK[:T�hKU[==[

&��2����$�%���9����1�����[�`�*,/,�����(� )�� (� )��*� (� )��

[ [f[[ [^[[[[= [f[= [^[[[=K [f[K [^[[=[V [f[V [^[[==Z [f[Z [^[=[[g [f[g [^[=[=h [f[h [^[==[U [f[U [^[===i [f[i [^=[[[m [f[m [^=[[==[ [f[N [^=[=[== [f[e [^=[===K [f[X [^==[[=V [f[Y [^==[==Z [f[o [^===[=g [f[p [^====

Page 17: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��17

���������� �+

'��L��&�-/��'����[fpp�'���-'�����-�Kgg�L��&�-�%��*H$�� 1=gf=h=:�k�1=gq=h[:��T�Kgg=[/�'���-0����-'��L��& �[fpp����[^========

���������� � ,

'��L��&�-/��'����[fV=�'���-'�����-�Zm�L��&�-�%��*H$�� 1Vf=h=:�k�1=f=h[:��T�Zm=[/�'���-0����-'��L��& �[fV=����[^[[======

��4������������.������(�.9���������������� �1#��M !GHI�+(���"#���$����(�.9�������

�� �����*���,����0��$$����(�.,�����type variable_name;

������ type����������������������;� ����%�/��

variable_name�����;�*�+����+� ��<

����

int a; // ��/��C������)����a����")*" &�=>�����00�3@?

long result; // ��/��C������)��� result ���")*" &�=>�����00�J6@]

float start; // ��/��C������)��� start ���")*" &�=>�����00�VJ6K?

int x,y; // ��/��C�������<������� x ��/ y )*" &�=>�����3@?

float p,q,r; // ��/��C�������\������� p�q ��/ r )*" &�=>��00�VJ6K?

�#�+����2/9/#�����(�.9�����7�/#���$���)��,%���:��9/��? ! C �W�\�WKEF��3&��2�)*,/�����

int x=100; // ��/��C������)��� x ���")*" &�=>�����00�3@?// ��/���"�����*�=�&��� 100

int x=15,y=78; // ��/��C������)��� x ��/ y ���")*" &�=>��00�3@?// ���"�����*�=�&!& x=15 ��/ y=78

long p=47L,q=31L; // ��/��C������)��� p ��/ q ���")*" &�=>��00�J6@] // ���"�����*�=�&!& p ��� 47 ��/ q ��� 31

Page 18: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

18������������� ������������������������������������ IPST-MicroBOX

��5����.������+,��,���-���$���e���%��+)��'�9/#��������������:,1/#�0�1#�9��������*,/��(�.*�/��/��&��2�)

*,/,�����

�$����(type)variable

������ type����������������������;� ���variable���;�*�+����;� ���$ '+������+� ����� �����

���������� �

int x=100; // ��/��C�������x��00�3@?���/���"���!&������0�.BB

float y=43.67,z; //���/��C�������y���/�z��00�VJ6K?���/���"���!#�y�������0�S\[^D

z = y+(float)x ; // !&�z���$0�����0���/�����y���0�x����)*" &�=>� ���x�����00�3@?// _̀�����������0�y���/�z// �̀��&������)*" &�=>� ���a�!&����VJ6K?�! �� ���(float)x// "��������������%"&����z��/=����������0�.S\[^D

���������� � �

int a=50; //���/��C�������a��00�3@? ��/���"���!&������0�bB

long b=23L,c; //���/��C�������b���/�c��00�J6@]���/���"���!&�b�������0�<\

c = b*(long)a; // !&�4���$0������>,�/�����b���0�c// �����������)*" &�=>� ���a�����3@?�_`�����������0�b���/�c// �̀��&������)*" &�=>� ���a�!&����J6@]�! �� ���(long)a// "��������������%"&����c�������0�..bB

���������� � �

float p=50.736; //���/��C�������p��00�VJ6K?���/���"���!&������0�bB[D^\

int q=60,result; //���/��C�������q���/�result��00�3@?���/���"!&�q�������0�^B

result = q+(int)p; //�!&�result���$0�����0���/�����q���0�p//����)*" &�=>� ���p�����00�VJ6K?�_`�����������0�q���/�result//��̀��������&��=��������)*" &�=>� ���p�!&%�����3@? ! �� ��//�(int)p����!&���!=� ���p�����bB���������/!)&�c��/������$=//�"��������������%"&����result��/=����������0�..B

Page 19: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��19

��6����������+,�����.��. �7��8

��6������.�����+����� �!&%%&'(

9�������:,#(����� %"#� � ��<��1#�9������������:,1#�1/#�0����"#�������(���#,�,�&1#������%��+)�����9:,9�#���*�

��6���������� �������

�0���$$����(�.��/9�����#(����� T��:9:�)*,/,�����type name[size];

������ type�������� �����;�*�+� '���

name������ ;�*�+� '���

size������� ;�*'���%�/������� '�����$$ 0���%�/���?0��

���1/24�1/#�0�1#�&��:�9���,1#�#(����&��2�)*,/�,����)��,���,�������9)��������0��$$��'�

name[index]

������ index����������������#/�� -Q0+�� &�����;�*"�>�� '����()� �$'+,�;�*'���/����;�*�+�"�>�/������ �%�� ���$��� ()� ��# /���������*��$ ;� �����'+,�$%��*�';?�'�����#�

���������� � �

@��+� ��<'+,�char arr[4];

/���@) �;�*�+� '������arr�+� �-��*�&���������Z�;�*�1� *��'+,�;�*�+��Z�;�*�?0��:��;�'*�����$ �� � @) &�����$ "�������'+,�;�*-� -�*���%��� ;��;�"�� ��&�����;�*"���� ��#��822�&����@�$��$ &�����0���� ��#

arr[0]�'+,�&�����;�*����=��;�������������#'+,��r[s

arr[1]�'+,�&�����;�*����K��;�������������#'+,��r=s

arr[2]�'+,�&�����;�*����V��;�������������#'+,��rKs

arr[3]��'+,�&�����;�*����Z��;�������������#'+,��rVs

�����arr[0]�l�arr[1]�l�arr[2]��� �arr[3]�;�� �?'+,�;�*�+������_R82��������=�0-;����� ��#����+� ��<;�*�+��arr $) "��'�#�����# &�#��Z�0-;�

Page 20: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

20������������� ������������������������������������ IPST-MicroBOX

���������� � �@��+� ��<'+,�

int time[10];

/���@) �;�*�+� '������time���&���������=[�;�*�&����@�$��$ 0���� ��#time[0]�'+,�&�����;�*����=��;�������������#'+,��r[stime[1]�'+,�&�����;�*����K��;�������������#'+,��r=stime[2]�'+,�&�����;�*����V��;�������������#'+,��rKstime[3]�'+,�&�����;�*����Z��;�������������#'+,��rVstime[4]�'+,�&�����;�*����g��;�������������#'+,��rZstime[5]�'+,�&�����;�*����h��;�������������#'+,��rgstime[6]�'+,�&�����;�*����U��;�������������#'+,��rhstime[7]�'+,�&�����;�*����i��;�������������#'+,��rUstime[8]�'+,�&�����;�*����m��;�������������#'+,��ristime[9]�'+,�&�����;�*����=[��;�������������#'+,��rms

������ time[0]SSStime[9]� '+,�;�*�+������ D64������K� 0-;�� ��� ��#����+� ��<;�*�+��time$) "��'�#����K[�0-;�

���������� � ����+� ��<;�*�+����� '���������-�%�/����������"/���-&������ "/�+� ��<'+,�

char dat[8] = {1,3,5,7,9,11,13,15} ;

$��;�*��� '+,����+� ��<;�*�+� '������dat ������-�%�/����������"/���-&������;�� ;�*�1�$$ '����*����;�� /��*���?0��:�����������0���

dat[0] = 1;

dat[1] = 3;

dat[2] = 5;

dat[3] = 7;

dat[4] = 9;

dat[5] = 11;

dat[6] = 13;

dat[7] = 15;

���'����"��&����� '��� /�� $����+� ��< '������ -�char i , j ;

i = 3;

j = dat[i]; // j = dat[i] ==> j = dat[3] ==> j = 7

/q��������� j = 7 */

Page 21: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��21

���������� � &���+� ��<;�*�+����� '���������-�%�/����������"/���-&������+� ��<'+,�

char dat[4] = “ abcd” ;

$��;�*��� '+,����+� ��<;�*�+� '������dat�������-�%�/����������"/���-&������;�� ;�*�1�$'����*����;�� '(��?0��:�����������0���

dat[0] = ‘a’;

dat[1] = ‘b’;

dat[2] = ‘c’;

dat[3] = ‘d’;

���'����"���/�� $��+� ��< '������ -�char i , j ;

i = 3;

j = dat[i]; // j = dat[i] ==> j = dat[3] ==> j = ‘d’

/*����������j = ‘d’ */

"����+� ��<;�*�+����� '���&����@+� ��<"�� ��'+,��--���-��/�������/��%�0+'+,�;�*�+��A828B3432� '����-���&� �������� �� �������?0��

���������� � '���+� ��<;�*�+����� '�������������--�J9C84�������-�%�/����������"/���-&�������+� ��<'+,�

float cal[5] = {0.85, 6.23, 4.7, 10.8, 2.14} ;

�� ��#�cal[0] = 0.85;

cal[1] = 6.23;

cal[2] = 4.7;

cal[3] = 10.8;

cal[4] = 2.14;

���������� � +���+� ��<;�*�+� '�������������--� 9C6b�������-�%�/����������"/���-&������+� ��<'+,�

long store[3] = {20L, 500L, 49L, 1055L} ;

�� ��#�store[0] = 20L;

store[1] = 500L;

store[2] = 49L;

store[3] = 1055L;

�������� &�=>�)*"� J6@]� �=��d�/0:!&)�"��%"&1"-!)&���e�� fJg� ���� fTg� ����&�-����� &�=>�"&�-�������-�� �=��d!)&�������/��-����=�������.�=*�*� %"&"&�-

Page 22: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

22������������� ������������������������������������ IPST-MicroBOX

��6���������� ��������0���$$����(�.��/9�����#(����� Z��:9:�)*,/,�����

type name[x][y];

������ type�������� �����;�*�+� '���name������ ;�*�+� '���x������� ;�*'���%�/�������@*� '���y������� ;�*'���%�/������/���� '���

����int a[2][5];

'+,����+� ��<"/��8�'+,�;�*�+� '����K���;������������--�D64���$%��*�&������=[�;�*�0�����a[0][0], a[0][1], a[0][2], a[0][3], a[0][4] ,

a[1][0], a[1][1], a[1][2], a[1][3], a[1][4]

���)��,%�1/#�0���:��9/��3&��2�)*,/� ����int menu[3][4] ={{1,3,4,9} , {2,8,0,5}};

'+,����+� ��<"/��B365�'+,�;�*�+� '����K���;������������--�D64���$%��*�&�������# /��=K�;�*��� �%�/����������'����;����� ��#�

menu[0][0] = 1 menu[0][1] = 3 menu[0][2] = 4 menu[0][3] = 9

menu[1][0] = 2 menu[1][1] = 8 menu[1][2] = 0 menu[1][3] = 5

menu[2][0] = 0 menu[2][1] = 0 menu[2][2] = 0 menu[2][3] = 0

��6������.��9������ �!:;#<=>%(9�����7#��9#���%"#�9���������)��/�����3$%��#,�,�&1#�9���������)���������"#�#,�,�&

9)������,-����0��$$����(�.��/��,�����type * name;

������ type������������� ;�*�+�����';��

name�����;�*�+�����';�����"��+� ��<����

char *ptr; ��������/��C!&�ptr ����������;63@?A5H����!)&)�� &�=>��00�4ZK5int *a; ��������/��C!&�a�����������;63@?A5H����!)&)�� &�=>��00�3@?float *storage_num;���/��C!&�storage_num�����������;63@?A5H����!)&)�� &�=>�

�00�VJ6K?long *number;���������/��C!&�number�����������;63@?A5H����!)&)�� &�=>��00�J6@]

Page 23: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��23

��6���������,��?@��A�.B�7�.�+�+�),�����.�����1/24�9)������#,�,�&1#�9������,-,/��7#����9#��� � &��2#/�#:�9)�����,/��

�%�"�#�����fgh��)��/9������ ���(��"�#9/#�����/9�����7#����9#����(�)��$1/#�0�����)������#�0�e�1e(�����)*,/�,����&��%�"�#�����fih��)��/9�����7#����9#������ ����

int *ptr; //���������/��C��������-�������ptr���$0�����"�"� �00�3@?int x; // ��������/��C������)����x�)*" &�=>��00�3@?ptr = &x; //����"!&�ptr���$0�����"�"� �x*ptr = 100; //����"����.BB�!&��0��"�"� ����ptr�)���->�lcd(“%d”,x); //��" �0���-���� ���x�=�� "������1=">��TUG��/=��������.BB

���������� ��,

��&-�+�����;�*��� ;�0+��##include <ipst.h> //����%�0���������� �0 :��������23456789void main() //�1�����=��� ��h�e��U{

long X; // ��������/��C������)����9�)*" &�=>��00�J6@]long *Xptr; //���������/��C��������-�����)����9I?5� ����0��$0�����"�"� �00�J6@]X=50L; //����"����9�������0�bB�F���)*" &�=>��J6@]��&��! ��T���=���"&�-NXptr=&X; //����"!&�9I?5���$0�����"�"� �9lcd(“*Xptr = %L #c “,*Xptr);

//����������� "�01=">��TUG�������� &�=>� ���X 1tTg[W://� ��/ �������-�� &����=���� "� &����=�����d�"%�

sleep(2000); //� �������� "�����������X=100L; //�1�"!&����9�i�.BBTlcd(“*Xptr = %L #c “,*Xptr);

//������� ��� "�01=">��TUG�������� &�=>� ���9�������F9i.BBTN//� ��/ �������-�� &����=���� "� &����=�����d�"%�

sleep(2000); // �������� "�����������*Xptr=200L; //�1�"!&����9�i�<BBT�1"-1�"�����������-������lcd(“X =%L #c “,X); //�� "���� :"�&�- ������9���/����-��1=">��TUG����� "�while(1); //��0��1�����=

}

��� � ���E����&������" �0����-������/�&���*"������������ "�����/����������/ ����FG3HIJKLM36N�� &���0�����������23456789���/�������� "�����/����������/ ����FG3HIJKLM36N����/�&����"���*�=��*=� ��������%=�%"&��=�->�!):"����� =����� O;PQM23456789� !�:���*�=�&��/�:�=���R�

Page 24: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

24������������� ������������������������������������ IPST-MicroBOX

��6������.��. CD��)����� !E=%FG=F%>(

9�������$$�%��&�/���'�����e(1#��������<��1#�9����������%��&#,%�/#���"#&��7��8����������/#�0����,��0��,������� � �,������:,1/#�0�1#�9�������������*��+)��'�9/#���'���:,�,�������;4���9�9��+�9������$$#(����� �������e(������(�.9�����,�����

struct name

{

type_1 variab_name_1;

type_2 variab_name_2;

..........................

type_n variab_name_n;

};

������ name ����� ;�*�+���� &��� ����%����+� ��<type_1....... type_n �������������� ;�*�+�variab_name_1........ variab_name_n�������� ;�*�+����

&�����#/�24�&��:���#�1#�9������%��&�/�����+(20�%���,/���%�"�#����� N���/�9�,/���"�#&��:���#�

9��#�������(�.9������%��&�/����������struct a //���������/��C)����������001��� �&���)����a�F����&�00N{

int i; //������� =�)*������� ���a�)����i =�)*" &�=>�����3@?int j; // ������ =�)*������� �� ���a�)����j�=�)*" &�=>�����3@?

};

struct a dat //�������d��-���e,/!&�dat����������1��� �&���=����0�a

��"##++(��(�.*,/#���0��$$��4���,�����struct a

{int i;int j;

uE84G //�������d��-���e,/!&�dat����������1��� �&���=����0�a

,������2/9/#���#/�24�&��:��i���(�j�1#� dat��)*,/,�����dat.i = 36; //����������"!& =�)*��3�!�jK?�=��������\^dat.j = 5; // ���������"!& =�)*��k�!�jK?�=��������b

Page 25: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��25

��"#2/9/#�����(�.9������%��&�/�7�/#������)��,%���:��9/��3&��2�)*,/�,�����struct a //���������/��C)����������001��� �&���)����K�F����&�00N{

int i;

int j;

}dat = {36,5};

//�������d��-���e,/!&�dat����������1��� �&���=����0�a//���&�=��0���"���!&��0 =�)*� ���dat�"&�-//� =�)*������� ���dat�F����iN�����\^���/ =�)*������� ���jK?�F����jN�����b//��=����0 dat.i = 36;���/�dat.ji�bl

���������� �� � ��&-&��� ;�*�+��--��� &��� �� ��#

#include <ipst.h> // ���%�0���������� �0 :0���"�O;PQstruct time // ��������/��C)����������001��� �&��)��� time F����&�00N{

int hour; // ������ =�)*�)��� hour )*" �� &�=>�����3@?int min; // ������ =�)*�)��� min )*" �� &�=>�����3@?int sec; // ������ =�)*�)��� sec )*" �� &�=>�����3@?

};struct time mcu_time;

// d��-��"���e,/������1��� �&�� time !&��0���������)��� mcu_time// "���� mcu_time ������������=� =�)*� 3 �������hour,min,sec

void main(void){

mcu_time.hour=16; // ���" &�=>�!& =�)*�-��- hour ��������1��� �&��)��� mcu_timemcu_time.min=36; // ���"��� &�=>�!& =�)*�-��- min ��������1��� �&��)��� mcu_timemcu_time.sec=12; // ���"��� &�=>�!& =�)*�-��- sec � ;�*�+���� &��� ����mcu_timelcd(“Time: %d:%d:%d “, mcu_time.hour, mcu_time.min, mcu_time.sec);

// �" �0���-����=�� "������&��� LCD

while(1); // �0��1�����=}

����������1=">��TUG����������������

��� � ���E����&������" �0����-������/�&���*"������������ "�����/����������/ ����FG3HIJKLM36N�� &���0�����������23456789���/�������� "�����/����������/ ����FG3HIJKLM36N����/�&����"���*�=��*=� ��������%=�%"&��=�->�!):"����� =����� O;PQM23456789� !�:���*�=�&��/�:�=���R�

Page 26: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

26������������� ������������������������������������ IPST-MicroBOX

�#�+����9������%��&�/����2���#,����e(��/��$7#��9#��*,/,/��� �;4��7#��9#���$$9������%��&�/�����+��������2���#,����e(��/��&��2�)*�����#,�,�&1#�9������%��&�/����20�2���#,������e(�,���������"#�#����������e(1/#�0��,��������,����1/24��#,�,�&1#�&��:�1#�9������%��&�/��,-��3+(���#��#���9#���^j���'�9����"�#����������

struct a //���������/��C)����������001��� �&���)����K�F����&�00N{

int i;int j;

};

struct a *ptr; //�d��-��"���e,/������1��� �&���8�!&��0��������-������ptr//�"�����0����� �=��d����-������ptr� %�)��������1��� �&�����//�%"&��0���d��-��"���e,/=�����a�%"&

���������� �����&-&��� ;�*�+��--��� &��� �� ��#

#include <ipst.h> // ���%�0���������� �0 :0���" IPSTstruct team // ��������/��C)����������001��� �&���)��� team{

long l1; // ������)��� l1 �����������'+,� longlong l2; // ������)��� l2 �����������'+,� longint i; // ������)��� i �����������'+,� int

};

struct team team_a , *pteam; // d��-��"���e,/������1��� �&���team// !&��0������!=����)����team_a���/��-����� pteam

void main(void)

{

pteam = &team_a; // ���"!&��-����� pteam )����"�"� ������ team_apteam->l1 = 20L; // ���"��� l1 �������� team_a !)& pteam ������)����"�"� pteam->l2 = 142L; // ���"��� l2 �������� team_a !)& pteam ������)����"�"� pteam->i = 78; // ���"��� i �������� team_a !)& pteam ������)����"�"� lcd(“Team: %L:%L:%d “, team_a.l1,team_a.l2,team_a.i);

// �" �0���-����=�� "������&����TUG while(1); // �0��1�����=}

����������1=">��TUG���� ����������������

Page 27: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��27

� �!�"#�$%���&������������������

'()*+,����-.��/�����������

�!������0%����������� IPST-MicroBOX

����������� ����������������������������������� !������ ������"��#$%& '(���)*���"�+!*�� �,�)�-./�0���(!�/����!�1,�)23.24��(!�5/�4!�1��647�897�.!*����� !����:�������������� !�!��!����!�1�';<=>?@;>:�+!*�� ��������6*5�.�A��4B6���C6D��( !�����������,*(E��F���1� '�>�@GH=@�I� ;<=>?@;>:J� ������������.�(�����/��K1�47����'�=L?@�;��M�L;N�I�;<=>?@�;�:�47�����������,*����'O�@P�Q=�;<=>?@�;�:

���������� ������� ���������R��B�5�.��*���

�������� ���� � ������� ����� ����� ������� ����������������������������� ������� !�"#$%�&��%#�'!����� ����(!��'�&��%#�'!��) ������"#$%�&��*!��+�!�*�'"�� ,��) ����(�'�&��*!��+�!�*�'"�� ,�) �����(-�.�*!��+�!�*�'"�� ,� ) ������(-�.�*!��+�!�*�'"�� ,��) ������(-�.�*!��+�!�*�'"�� ,���������

Page 28: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

28������������� ������������������������������������ IPST-MicroBOX

��������������������������

��� ���������int a = 12;

a = a + 3;

/��+�01,���2�)�34���*5�'�%,������ 6-%�2� &!��78%�39����-�:+�';�-�2�����+��<���-�%5�/��+�01*&�=(-,��34���>�=�-*&��2

��� ���������int a = 12;

a = a - 3;

/��+�01,���2�)�?���*5�'�%,������ 6-%�2� &!��78%�39����-�:+�';�-�2���(-�.�<���-�%5�/��+�01*&�=(-,��?���>�=�-*&��2

�������������� �����!����,��*�!*�����(������6*�����*,�)

ST��������� U� ��V�������W�(69������W�,�)��4*���XT���������Y� ��V�������W�(6�F�,�)��4 !9�����

��� ���������int x , y , z;

x = 10;

y = x/3;

z = x%3;

/��+�01,���@�)�?���A�B�)�3���*5�'�%,�

y = x/3;����y = 10/3���@�)�<��C5�%�%�+$'*&�����'6+��z = x%3;���z = 10%3���B�)�3�����*&����,�C���������

����"����# �$�%���������������%������������!86*,�)�-.����!K��8��,�*���*���

��� ���������int y = 5;

y++;

/��+�01,���@�)�D���*5�'�%,������ 6-%�@� &!��78%�4���6!� �:+�';�-�@�����+��3���-�%5�/��+�01*&�=(-,��D���>�=�-*&��@(+'%+$%5�:+�'� y++;��;�-/��+�01�� ,�%�+���y = y + 1;

Page 29: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��29

��� ���������int y = 5;

y - -;

/��+�01,���@�)�E

���*5�'�%,������ 6-%�@� &!��78%�4�6!� �:+�';�-�@���(-�.�3���-�%5�/��+�01*&�=(-,��E���>�=�-*&���@(+'%+$%5�:+�'� y - -; ;�-/��+�01�� ,�%�+� y = y - 1;

����&����# �$�%�����'���������%������'!K��8�,�8��(�8*5�.�6

y +=a; ��.244�/K1��� !���� y = y + a;

y -=a; ��.244�/K1��� !���� y = y - a;

��� ���������int x = 100;

x += 10;

/��+�01,��F�)�33G

����(����)��%����*'�+�������%���� '����������%����!'!K��8�,�8��(�8*5�.�6

y *=a; ��.244�/K1��� !����������y = y * a;y /=a; ��.244�/K1��� !����������y = y/a;y %=a; ��.244�/K1��� !��������� y = y%a;

��� ���������int x, y, z;

x = y = z = 120;

x *= 4;

y /= 4;

z %= 4;

/��+�01,��F�)�EHG�I�@�)�<G���A�B�)�G

Page 30: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

30������������� ������������������������������������ IPST-MicroBOX

���������� ������,���$��$#��-������������7,����4B6�����244�/K19������9�!��* )!�5+97��(6��V��ZS[�R.�* )!�5+������V�9��*

'@>\=:��47��V��Z][��� )!�* )!�5+�,W9'^?LQ=:�����R��B�5�.��*���

��� !"#"$% ����

)) �*!��+�

J) = !�*!��+�

K ����!�

L %-�.��!�

K) ����!���,��*!��+�

L) %-�.��!���,��*!��+�

J = !;M!��NOP�

QQ ��A��RNS�

TT ��,���OU�

��� ��������&

V-��5��%(;�-2�)�3GW�)�EX�)�GFRG

�������� � ���������� ���������������������� �� ��!�������� " ���������� ��#$��%&'������������� �� ��(�������� )" ���������� ���������������������� �� ��!�����*�(+,(�)�!(��������� �-)�� ���������� ���������������������� �� ��!�������� �-)�" ���������� ������%&'������������� �� ��(

Page 31: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��31

��������./,��0�+�11�+�22��3��4����4�3��54���6�7�89:���#-�97����0�;<=>?����R��B�5�.��*���

'((�)*+$%,� $�-'((�)*+ '((�)*+���.�/

J� Y2�Z[ \]�[�3�J� \]�[ Y2�Z[�G�

:�̂7�!�������� ���.��.�*#/�0123�456��*�01��������� #7�8���1�9�������

:���#-�97����3��4����4�97�3��54����3��54���,�4�11;@<A?���B�5�.��*���'((�)*+$%,� $�-'((�)*+ '((�)*+���.�/

Y2�Z[�QQ�Y2�Z[ Y2�Z[�G�_2�Z[�QQ�\]�[ Y2�Z[�G�\]�[�QQ�Y2�Z[ Y2�Z[�G�\]�[�QQ�\]�[ \]�[�3�

:�7̂�!�������� ���.���,4:��*�01��������� �� ��%&'��;�.8�2<08�2;�=��;���#�>��?��� ��%&'�

:���#-�97����3��4����4�97�3��54����3��54���,�4�22;=B?���B�5�.��*���'((�)*+$%,� $�-'((�)*+ '((�)*+���.�/

_2�Z[�TT�Y2�Z[ Y2�Z[�G�_2�Z[�TT� \]�[ \]�[�3�P]�[�TT� Y2�Z[ \]�[�3�P]�[� TT� \]�[ \]�[�3�

:�7̂�!�������� ���.���5@��*�01��������� �� �������;�.8�2<08�2;�=��;���#�>��?��� ������

��� ��������0

V-��5��%(;�-2�)�3GW�)�EX�)�GFRG�������� � ���������� ���������������������� �� ��!�������� " ���������� ��#$��%&'������������� �� ��(�������� )" ���������� ���������������������� �� ��!�����*�(+,(�)�!(��������� �-)�� ���������� ���������������������� �� ��!�������� �-)�" ���������� ��#$��%&'������������� �� ��(

Page 32: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

32������������� ������������������������������������ IPST-MicroBOX

��AV-��78%�������� -��� ���������� ��#$��%&'������������� �� ��(�������� -�"� ���������� ���������������������� �� ��!�������� -�)"������������ ��#$��%&'������������� �� ��(�������� -��-)�������������� ��#$��%&'������������� �� ��(�������� -��-)�"������������ ���������������������� �� ��!

��AV-��78%�������� -����AA��)"������������ �� �� %&'��(��������� ���-)����AA��)"������������ �� �������!��������� ���-)����AA�-��-)�������������� �� ��%&'��(�

��AV-��78%�������� -���� BB� �)"�� ���������� �� �� �����!��������� ���-)����BB��)"������������ �� �������!��������� ���-)����BB�-��-)�������������� �� �������!��������� �-�)"��BB�-��-)�������������� �� ��%&'��(�

��"��������� ������ ��;CDEFDGH�=IHJKEDLM?����7,����4B6������V�����7,�,�)�+.R_*���7������+!*+.!�34���8,�)(6+!*��647�����V�

5�.�(6� ZS[��� !� Z][� �,6�����`_)*����7,����4B6�������R��B�5�.��*���

�������� ����

` ��+�!�"�'��6"-� ��Q �����%(1�����6T ������1�����6a �����>���b&c����1�����6LL ��,��%��6=7*�'b-�.KK ��,��%��6=7*�'"��LL) ��,��%��6=7*�'b-�.��-�;�-�*!��+�KK) ��,��%��6=7*�'"����-�;�-�*!��+�Q) ��%(1��-�;�-�*!��+�T) ���1��-�;�-�*!��+�a) ��>���b&c����1��-�;�-�*!��+�

Page 33: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��33

:���#-�97����N���B�5�.��*���

$%$%,� '((�)*+���.�/

`�G 3

`�3 G

:�7̂�!�������� ���.��.�*#/�0123�C��*�01��������� �������.#7�8���1�9�������

:���#-�97����1����� ��%7� ����B�5�.��*���$%$%,� '((�)*+���.�/

G�Q�G GG�Q3 G3�Q�G G3�Q�3 3:�7̂�!�������� ���.���A�DEEE�88��E�8��*�01������ �� ��F(G�;�.8�2<08�2;�=��;���#�>��?��� ��F(G

:���#-�97����2����� ��%7� ��/!��B�5�.��*���$%$%,� '((�)*+���.�/

G�T�G GG�T�3 33�T�G 33�T�3 3

:�7̂�!�������� ���.���B�DEEE�88��E�8��*�01������ �� ��F!G�;�.8�2<08�2;�=��;���#�>��?��� ��!

:���#-�97����O����� ��%7� ����B�5�.��*���$%$%,� '((�)*+���.�/G�a�G GG�a3 33�a�G 33�a�3 G

:�̂7�!�������� ���.���H�DEEE�88��E�8��*�01��������� �� ��F(G�;�.#�>��?�97����;9���.��

Page 34: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

34������������� ������������������������������������ IPST-MicroBOX

��� ���������1int x,y,result1,result2,result3,result4;

x = 0x9C;

y = 0x46;

C'��/��+�01"�'�3��result1 = x&y;�9��result2 = x|y;�<��result3 = x^y;�E��result4 = ~x;

#*��#�

�%,��'C���78%�����A*5������66!���6�C#'���7�'!�C����"d�%:�����78%��"d�%:�'�b#�'�>,�F�)�GF?e���GGGGGGGG3GG333GG��6+��7��fg\� &"%�(�78%�3D���6�@�)�GFED���GGGGGGGGG3GGG33G��6+��7��fg\� &"%�(�78%�3D���6�

�3�� ][Z��\3�)� �GGGGGGGG3GG333GG��Q� �GGGGGGGGG3GGG33G�GGGGGGGG3GG333GG

RNSGGGGGGGGG3GGG33G1111111111111�11 ��12111���%3��121�

�9�� ][Z��\9�)� �GGGGGGGG3GG333GG�� T� �GGGGGGGGG3GGG33G�GGGGGGGG3GG333GG

OUGGGGGGGGG3GGG33G11111111��1����1 ��121145��%3��1245

�<�� ][Z��\<�)� �GGGGGGGG3GG333GG��a� �GGGGGGGGG3GGG33G�GGGGGGGG3GG333GG

hOUGGGGGGGGG3GGG33G11111111��1��1�1 ��121146��%3��1246

�E�� ][Z��\E�)�`�GGGGGGGG3GG333GG� .��EE�8�1�9?�#I.E�8��������1��111�� �� 1277��

Page 35: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��35

��"�������6�7�� �9,7$)������4 )!����97�.!*�!�9����(���*���4 )!��.�8�6��.�����4 )!���)(���*� �-6�

dat = dat<<4;

;9�3J=��<;1������E�8�1�9?�����dat���#��K1�3�L����>�������� #7��01�.$E�21#7��dat��;9����0�9�*<;1������ �;9���� �dat<<4;

�� !dat = dat>>1;

;9�3J=�<;1������E�8�1�9?�����dat���#���2��!����>�������� #7��01�.$E�21#7��dat��;9����0�9�*<;1������ �;9����dat>>1;

��� ����������int dat, x1, x2;

dat = 0x93;

C'��/��+�01"�'

�3� x1 = dat<<1;

�9��x2 = dat<<2;

#*��#�

a?@�b�]cdA���]]]]]]]]S]]S]]SS�'���������@���+����V��Se����:dat 0000000010010011

X1 0000000100100110

X2 0000001001001100

�3��x1�,����'((�)*+8$$%!(3��"-#�9/��:(�dat�.;��</ ����%�=��CA=(-+!�)�(+(!MN 8��.�E���O��P�E��� MQL

�9��x2�,����'((�)*+8$$%!(3��"-#�9/��:(�x1�.;��</ ����%�=���%3�!;>"$%!(3��"-#�9/��:(�dat�.;��</ ����%�=��CA=(-

+M�)�(+(MLR 8��.�E���O��P�E��� STT

Page 36: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

36������������� ������������������������������������ IPST-MicroBOX

��� ����������int a , b , c;

a = 0x7A;

b = 0x16;

c = 0xFD;

C'��/��+�01"�'�3��a &= 0x3C;�9��b |= 0x51;�<��c ^= 0xD0;

#*��#�

�3��C�����a &= 0x3C���>,����a = a & 0x3C��� �.�� �!��%5�!�"�'�2���,��GFiR��=7��%(1�+�GF<e���-�/��+�01*&�=(-%5�=7��>�*&��2��&��+$'�%#�'

�*&.�=(-�78% a = (0000000001111010) & (0000000000111100)

GGGGGGGGG3333G3GRNS

GGGGGGGGGG3333GG1111111111���111 ���1211�&��%3��12�&

�9��C�����b |= 0x51���>,����b = b |= 0x51��� �.�� �!��%5�!�"�'�W��,��GF3D��=7���1�+�GF43���-�/��+�01*&�=(-%5�=7��>�*&��W��&��+$'�%#�'

�*&.�=(-�78% b = (0000000000010110) |= (0000000001010001)

GGGGGGGGGGG3G33GOU

GGGGGGGGG3G3GGG3111111111�1�1��� ���1211����%3��12��

�<��C�� c ̂ = 0xD0j���>,����c = c ̂ = 0xD0��� �.�� �!��%5�!�"�'�X��,��GF_S��=7��>���b&c���1�+��GFSG���-�/��+�01*&�=(-%5�=7��>�*&��X��&��+$'�%#�'

�*&.�=(-�78% c = (0000000011111101) ^= (0000000011010000)

GGGGGGGG333333G3hOU

GGGGGGGG33G3GGGG1111111111�1��1� ���1211�4��%3��12�4

Page 37: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��37

� �!�"

������������ ������������������������������������������ ���!��� "����� � #$%&'( )� *+,����� ����-��!��������*./��*�/����01����22�3+� *.4�2���*��������!� �.5�� ������5�3�6� �26� *�2 7� � 6�5������������ �����8���+ ��2!���5���������!!� ���2!*�4�239������������1+�:;���������������������<

=>���������if

?>�������� if-else

@>���������switch

A>�������� for

B>���������while

C>�������� do-while

�����������

*+,�������������!�25� *+,���������������� � ���2!*�4�239� # DEFGHGDE)����� *+,� /�� 42*�-�

1+�!!��42if(Condition)

{

block

}

block������������ �������������������������������{ }� �����!��"#"��� ���"�$%�������� �����&'

������!��#��$�%���&���������� �!�����

�$'����������� IPST-MicroBOX

Page 38: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

38������������� ������������������������������������ IPST-MicroBOX

0��6+ �� ����� � ���2!.!���� DEFGHGDE�� 42*�4�239�<*+,� /���-��*9��3+�����������5��IJDKL����0��*+,*�-���-��*�53+�������������251���23+�52��IJDKL�����0�����������IJDKL���*.�5��������*��5�� * �2����3����2����*� 4�2����5+M������5�-3��� � *��

if(i==4)

{ if(i==4)

y = 46; � y = 46;

}

���������� ��

unsigned char i , j ; // ������������ ���������������������������� !"##$i = 5; // �%���&�����'(�� �)*����� ij = 3; // �%���&�����'(�� �)*����� jif(i>=5) // ��+,*���-(*�.)�/ �" i ���������-*�0������#"�� 0%��%�,�(����12*�{

j = i +10; // �%�,�(�0�(�3i = 7; // �%�,�(�0�(�"

}

/*—————————result——————————————*/

j = 15

i = 7

/*——————————————————————————*/

!��(����������")*#"+���,-.����!����$($�! ����%���&/"if" ",����" ��%���&/��0�!$1�" �,$�2 i = 53&'����������0�����$1��('�4""!������$�$2������ ������"#"5�2"��� ������"6"����������(�������

�"��� ������"#"7 8"9":";#<"�"8"9"=;#<"�"8"9"#=

�"��� ������"6"7 :"9">"3��������?�($�4

Page 39: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��39

���������� ��

unsigned char i , j ; //"������������� ���������������������������� !"##$i = j = 2; //"�%���&�����'(�� �)*������4�1��5��� ������0���"�0�6��7�if(i==5) //"��+,*���-(*�.)��/ ��8��0������#��� 0%��%�,�(����12*�@

j = i +1; //"�%�,�(�0�(�3i = 14; //"�%�,�(�0�(�"

}

if(j==2) //"��+,*���-(*�.)��/ ��8��0������"��� 0%��%�,�(����12*�j = j+1; //"�%�,�(�0�(�9/*—————————result——————————————*/

j = 3

i = 2

/*——————————————————————————*/

!��(����������")*6"!2�������+���,-.����!����$($�! ����%���&/"if(i==5)",������������������������"����A�!��&������$5�2������ ������"#"5�2"6"����������5$�""(������%��+�����,���� ���"if(j==2)"!������$($�! ����%���&/�����������$�A�""5�2,����"��%���&/���������0�!$1�"�����'('������$5�2������ ������")"3��%���!�������� ���"if(j==2)"����� ���(��!����$($�! ����%���&/�,������ �������"&��!����0�('���'�'����$%�������"{ }��&'4

�"��� ������")7 8"9"8";#"�"8"9"6;"#"�"8"9")

:"9"6"3�,$�2&��,���� ����"��'�������5������":4

���!����A���(��5����"BCDE:F:CD"���!��!2��'��0��$2?����$��������'����$%�����������G1(H� ($.5�2($$�5�'�"��� ���$���'����$($�! ����������"�$%�"���/��(��5�$�I"����������0���%���&/&''��"����A

#J"�'�������(����/"�$%�(��5�$��%���&/������������&���������"<"��%���&/�������!2��0�!$1�"����$�$2������ �������������/����� ���":K"��A�I

6J"�'�������(����/"�$%�(��5�$��%���&/�������������������"<"��%���&/�������!2��0����!"&������$�$2������ �������������/����� ���":K"��A�I

Page 40: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

40������������� ������������������������������������ IPST-MicroBOX

���������� �

unsigned char a , b; // �������������1��:��� ���������������������������� �/;��"##a = 10; // �%���&�����'(�� ��� a = 10b = 20; // �%���&�����'(�� ��� a = 20if(a>5 && b<=60) // / � a > 5 1� b <= 60 +����0%��%�,�(�0�(�3�1��"���12*�{

a = 100; // �%�,�(�0�(�3b = 200; // �%�,�(�0�(�"

}

if(b>100 || b==80) // / � b > 100 1� b = 80 +�0%��%�,�(����12*�{ // +�0%��%�,�(�0�(�9�1��<

a = a -10; // �%�,�(�0�(�9b = b -20; // �%�,�(�0�(�<

}

/*—————————result———————————*/

a = 90

b = 180

/*——————————————————————————*/

!��(����������")*)"��$($�! ����%���&/"if(a>5 && b<=60)",����"��%���&/��0�!$1�"�,$�2"L"9"#<�������"="!$1�"5�2"M"9"6<"�'������"N<"!$1�"����A�"!������$5�2���"��� ������"#"5�2"��� ������"6"����������5$�

�"��� ������"# a = 100;

�"��� ������"6 b = 200;

��%���&/(����"if(b>100 || b==80) ����$($�! ����%���&/�����������$�A�",����"��%���&/���������0�!$1�"�,$�2"M"9"6<<"�������"#<<"!$1�"3��0�!$1��,����$2?����������'+���,-.��0�!$1�5�'�4"����A�"!������$�/'����$2������ ������")"5�2"O"����������

�"��� ������") a = a -10P"�"L"9"#<<"*#<"�"L"9"Q<

�"��� ������"O b = b -20P"�"M"9"6<<"*6<"�"M"9"#R<

Page 41: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��41

����������� �����

*+,����������� ���2!*�4�239� #KDEFGHGDE)����� *+,� /�� 42*�-��:;�������� *�42�� ����25�����25����;��

1+�!!��42if(Condition)

{

block1 // 0%���,����6/ ���-(*�.)����=+�'�=

}

else

{

block2 // 0%���,����6/ ���-(*�.)����=�02+=

}

��� 1+�!!0��6+ �� ����� � ������.!���� DEFGHGDE��<*+,� /���-��*9��3+�����������5��IJDKL=����0��*+,*�-���-��3+�����������5��IJDKL?

���������� ��

char m = 2;

int x = 0;

if(m==1) // ��+,*��� m = 1 +�'���-*.��

x = 50; // / �=+�'�=

else

x = 80; // / �=�02+=

/*—————————result———————————*/

x = 80

/*——————————————————————————*/

!��(����������")*O"��$($�! ����%���&/"if(m==1)",����"��%���&/��0����!"�,$�2"S"9"6"����A�!���$2������ ���(���'��"else ������%���� ��� x = 80;"�"T"9"R<

Page 42: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

42������������� ������������������������������������ IPST-MicroBOX

���������� ��char z = 10;

if(z>=5) // ��+,*��� z >= 5  +�'���-*.��{ // ��+,*�1 ��-(*�.)�����>+�'�=�+�0%��%�,�(�0�(�3�1��"

z += 15; // �%�,�(�0�(�3z = z%10; // �%�,�(�0�(�"

}else{

z+= 17; // �%�,�(�0�(�9z = z%4 ; // �%�,�(�0�(�<

}/*—————————result———————————*/

z = 5/*——————————————————————————*/

!��(����������")*="��$($�! ����%���&/"if(z>=5)"",����"��%���&/��0�!$1�"�,$�2"U"9"#<"�������"=!$1�"����A�"!������$�/'�&��$2������ ������"#"5�2"6"����������5$�

�"��� ������"# z += 15;"�"V"9"V";"#="�"V"9"#<";"#="�"V"9"6=�"��� ������"6 z = Z%10;�"U"9"6=W#<"�"U"9"="��0�+���,-. �'��

���������� ��char z = 10;

if(z<5) // ��+,*��� z < 5 +�'���-*.��{ // ��+,*�1 ��-(*�.)�����>+�'�=�+�0%��%�,�(�0�(�3�1��"

z += 15; // �%�,�(�0�(�3z = z%10; // �%�,�(�0�(�"

}else{

z+= 17; // �%�,�(�0�(�9z = z%4 ; // �%�,�(�0�(�<

}/*—————————result———————————*/

z = 3/*——————————————————————————*/

!��(����������")*N"��$($�! ����%���&/"if(z<5)"",����"��%���&/��0����!"�,$�2"U"9"#<"�'������"=!����0����!"����A�"!������$�/'�&��$2������ ������")"5�2"O"����������/�� ���"XYZX

�"��� ������") z += 17;"�"V"9"V";"#>"�"V"9"#<";"#>"�["V"9"6>�"��� ������"O z = Z%4;"�"U"9"6>WO"�"U"9")"��0�+���,-. �'��

Page 43: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��43

�����������������������

*+,���������������� � ���2!����+ � 42��������� *.4�2���5��� ����/������� ���!� KNOP������0������������+ � 42���������������� ���2!3��� ���!� KNOP� ��*�5�6+ �� ������� �2�����������FPQNRJH�������������������92��FPQNRJH�����0�����3������ �!����������FPQNRJH��-��������6+ �� �22������ ����������OSGHKT�������� 1+�!!������!�258�����<

switch(variable){

case const1 : block1break;

case const2 : block2break;

case const3 : block3break;

|||default : blockn

break;}

variable"�%�""(��5�$��������($�! ����%���&/

const""�%�""��������'��������(��5�$��������($�! ��"�'�($��������"!2&����������������A�

default "�%�""�$G�/����$��$���5�'�&��($����"\LZX"����"!2�/'������������� �����A"" ���&��!����0�('����� ��&�

���������� ��

unsigned char key = 5;

unsigned char j = 10;

switch(key)

{

case 1 : j = j +key;

break;

case 3 : j = j +key;

break;

case 5 : j = j +key; � 0%��%�,�(��12*���6break;

}

/*—————————result———————————*/

j = 15

/*——————————————————————————*/

Page 44: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

44������������� ������������������������������������ IPST-MicroBOX

���������� �

unsigned char key = ‘b’ ;

unsigned char j = 0;

switch(key)

{

case ‘a’ :j = key;

break;

case ‘b’ :j = key; � 0%��%�,�(��12*���6break;

case ‘c’ :j = key;

break;

default : j = 0x00;

break;

}

/*—————————result———————————*/

j = ‘b’

/*——————————————————————————*/

���������� ��

*+,�������������� ������!!� 2!6�5�� � ���2!���*�4�239��:;����������� � 2!��� ���������������2�6�5�� 1+�!!*+,

for(initialize ; condition ; incremental)

{

block

}

?���� initialize"�%�"����$1��('���������!��(��5�$����������0���%���&/����$��$��

condition"�%�"��%���&/�����'����$($�! �����!2��'?�$5�$������� ��������������$%�&���'���0�!$1�!2����$������ �����������'���0����!!2�������0�]<^"!2&������$������ ����������

incremental"�%�"��� �������$�$2������(��5�$����������0���%���&/

Page 45: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��45

���������� �!

unsigned char i = 0 , dat = 3;

for(i=0;i<8;i++)

{

dat++;

}

/*————————————result———————————*/

dat = 11

/*—————————————————————————————*/

!��(����������")*Q" ���$��-1�����������/����� ���""for(i=0;i<8;i++)"����A

"��������#�"�%� i = 0"��'":"��0�(��5�$����$($�! ����%���&/

��������"�%�"i<8"�'����":"�'������"R"!2������ ����������"�'��������!2���!���������A

"$�%���"�%�"i++"�'������� ����������� $�!5�'�!2�,1�����":"/�A���������

�����%�"!2����$������ ������������A���"R"�$�A�"�%�"(�A�5(�":"9"<"���":"9">""5 ��������$������ ���"dat++;��A���"R"�$�A�"�����'����!����$�������� ���"KC_"� $�!5�'�"���/��"dat"!2�������0�"##"3�,$�2������$1��('����")4

���������� ��&

unsigned char i = 0 , dat = 3;

for(i=0;i<8;i+=2)

dat++;

/*————————————result———————————*/

dat = 7

/*—————————————————————————————*/

!��(����������")*#<" ���$��-1�����������/����� ���""KC_3:9<P:`RP:;964"����A"��������#�"�%�" i = 0"��'":"��0�(��5�$����$($�! ����%���&/��������"�%�""i<8"�'����":"�'������"R"!2������ ����������"�'��������!2���!���������A"$�%�����%�"i+=2"�'��$2������ ����������� $�!5�'�"!2�,1�����":"/�A��$�A��2"6"���

�����%�"����$�$2������ ������������A���"O"�$�A�"�%�"":"9"<"a"6"a"O"a"N""!������$�$2������ ���"dat++;��A���"O"�$�A�"�����'����!����$�������� ���"KC_"� $�!5�'�"���/��"ELF"!2�������0�">"3�,$�2������$1��('����")4

Page 46: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

46������������� ������������������������������������ IPST-MicroBOX

���������� ���

unsigned char i = 0 , dat = 3;

for(i=10; i>=5; i--)

dat++;

/*————————————result———————————*/

dat = 9

/*—————————————————————————————*/

!��(����������")*##" ���$��-1�����������/����� ���" for(i=10; i>=5; i--)"����A

����$1��('�"�%�""i = 10"��'":"��0�(��5�$����$($�! ����%���&/

��%���&/"�%�""i>=5"�'����":"��������$%��������"="!2������ ����������"�'��'������!2���!���������A

��� ���"�%�"i - -"�'��$2������ ����������� $�!5�'�"!2����"i"����������

�����%�"����$�$2������ ������������A���"N"�$�A�"�%�"��%��":"9"#<a"Qa"Ra">a"N"5�2"="5 ����"����$�$2������ ���"dat++;"��A���"N"�$�A�"�����'����!����$�������� ���"KC_"� $�!5�'�"���/��"dat"!2�������0�"Q"3�,$�2������$1��('����")4

���������������

*+,�������������� ������!!� 2!6�5�� � ���2!���*�4�239� � 6�5���� 1+�!!*+,while(Condition){

block}

?���� Condition""�%�""��%���&/�����'����$($�! �����!2��'?�$5�$������� ��������������$%�&���'���0�!$1�"!2����$������ ����������"5(�������������"�'���0����!!2&������$�$2������ ����������"����

while(1){

block}

��0�����������$�$2������ ����������5��&��$�'!�"�,$�2��%���&/��0�!$1�(��������%���!�����(��5������%���&/"3\CDE:F:CD4"�������0�"b#]" ����������"��%���&/��0�!$1�"�������

5(��'���0�while(0){

block}

!2��0�"cd:YX"YCCe"���!2&������$�$2������ ������������A��/�"�,$�2��%���&/��0����!(��������%���!�����(��5������%���&/"3\CDE:F:CD4"�������0�"b<]" ����������"��%���&/��0����!"�������

Page 47: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��47

�$%��'���0�while(1);

!2�����&'���while(1){

>>>>>>>>>>>>>>

}

:;����<��2� 1+�!!��*��42���42� *�4�239*+,� /���2�*����������251���!���3��52�3+� �����������0��3+�*. ��3�����������251��5�!�-2�*�5��������� ���2!*�4�239���*2����*+,� /���2�*���

���������� ���

unsigned char count = 10 , j = 0;

while(count>0) // / ��count�������� �+�'�����0%��%�,�(����12*�{

count--; // 1&����count�1��3j++; // �?'(�����j�);6��3

}

/*————————————result———————————*/

j = 10

/*—————————————————————————————*/

!��(����������")*#6"��(���������A��'���/��"count"��0�(��($�! ����%���&/���"�������"<"�����$%�&��"�'����!2�/'�&������� ����������"5�2���$�A�����/'�&������� ����������/����� ���"while"!2����"count"��"#"���"5�2�,1�����"j"#"���"����A�����$�$2������ ������������A���"#<"�$�A�"�%�"��%��"count"9"#<a"Qa"Ra">a"Na"=a"Oa")a"6"5�2"#

���������� ��

unsigned char test = ‘a’, m = 0;while(test==’a’){

test = ‘b’; // �%�,�(�0�(�3m = 25; // �%�,�(�0�(�"

}while(test==’b’){

test = ‘a’; // �%�,�(�0�(�9m = 80; // �%�,�(�0�(�<

}/*————————————result———————————*/

test = ‘a’m = 80

/*—————————————————————————————*/

Page 48: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

48������������� ������������������������������������ IPST-MicroBOX

!��(����������" )*#)"����$1��('�/��"test = ‘a’" ��%��?�$5�$�������!2,���� ���($�! ����%���&/while(test==’a’)"5�2,������%���&/��0�!$1�"!���$2������ �����������%�"��� ������"#"5�2"6

�"��� ������"# test = ‘b’;

�"��� ������"6 m = 25;

(��!����A���%������$���" FXZF" &�($�! ����%���&/"while(test==’a’)"����$�A�,����" &����0�!$1����(��&�"�,$�2!����$�$2������ ������"#"!�����!��"YCCe"&�,������� ���($�! ����%���&/"while(test==’b’)5�2,����"��%���&/��0�!$1�"!���/'�&��$2������ �����������%�"��� ������")"5�2"O

�"��� ������") test = ‘a’;

�"��� ������"O m = 80;

������������������

*+,�������������� ������!!� 2!���5�� � ���2!���*�4�239����5��������STGJP�������������������� � ������������!�-2���2�=�� �<�������;�� ���2!*�4�239����92��STGJP��� 1+�!!*+,

do{

block}while(Condition);

���������� ���

unsigned char dat = 0 , j = 0;do{

dat++; // �?'(�����dat�);6��3����}while(j != 0) // / �����j�.���0������ �+��) �.�0%��%�,�(����12*�"3��� ���""dat++;4/*————————————result———————————*/

dat = 1/*—————————————————————————————*/

!��(����������")*#O"!2��������$�A�5$����,���� ��� do-while"?�$5�$�!2�/'�&������� ���������������������$�$2������ ���"dat++"�����'"dat"�������0�"#"����"5�2!��($�! ������ j"&���������"<"!$1��$%�&��"�$��f���&��!$1�"!�������'���!����$�$2������ ���" do-while loop

5(��'���0�unsigned char dat = 0 , j = 0;

while(j != 0) // ��-(*��+,*�?��� j = 0"�2.�����0%��%�,�(����12*�1 {

dat++;

}/*————————————result———————————*/

dat = 0/*—————————————————————————————*/

Page 49: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��49

� �!�"�#$�����!��� ��%����� &'()� �!�����

�#$������������ *+,-./&012345�������� ��� � ������������������������������� �!�����"#��$����������%��&��'!�(�)���(!��

*�����+��',�)�-��.�/01234����������� ������������������������������� !"#$%&�'()��*'��+������,� -.�)�,�./��'.-,�.(�0����)�).����1�1�'���2��*'��+.)�.������ 3-. ��������.�'42��*'��+���5��6�7�8�����8�������.�'4�(�0��9:;�.������<�������1=��6��9>;�����.5�

����������� �� 1����5�87�� ' ?8��8��'84�.��(?+�'�' @(*''�� A�� ?8�B�5'�7�5�8�'�?� 1�)(C)D',��=�8.5�B�5������ .��,�� ��������� �������� !"#$%&��?�5��6�=�8� �����?0

���5617�� �������*����8!���%)9��������#��'�8�+�9�+%�(:��;-;"��!��+�<���"�;�<�"���"�=�"�;-;"��+���(&�����&*��������>?@ABCDE

��AB@A5�� �������*����8!���%)9�������'���,�"�)��+�FGH�I��#)�� B�5'������� ����.������E������F; GHIJK�EL

��J/K� �������*����8!���%)9�������'���,�+%��)�(*��&(�:��FLH� =�8.5�B�5������ ������1,� -.����� 1��-� F; GHIJK� #L

��@1�10� �������*����8!���%)9�������+��(��"����B�5������ ������.� -7M. �N�����FO&�;>�NL

��C5CJ1B� �������*����8!���%)9��������#����MM�N�8����!�B�5������ . �������PP'3�1�'���(�0���

����@A0� �������*����8!���%)9�������-��!���!��9)!���#��)��

��175K� �������*����8!���%)9�������-��!���!��9)!��!��!����;���MM�N���9�

��A0�CJ� �������*����8!���%)9�������-��!���!��9)!��!���������+%�(:����!�(

�����7�� ' ?(?+���'��'�?0�1@6�� ���86�D'8B�=M���� -��?8������ A��?���8��Q+�86�,'C��?8����RQ+7�5����. ?8��', 5��B�R?�? ��(?+�'���������������� ������ !"#$%&���5��=�8� ���86�D'8B�=M���� -� ��6�5/J7KA

Page 50: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

50������������� ������������������������������������ IPST-MicroBOX

����'��?08��?7�� ' ?�,)+��.)��*'� ���' ��A+��.�����.��. �����,)�ST�A+�4��'()��BOKDOP6J�Q� �������";�"#�!��&(�:�)���898*��'���;��������RSOHDOP

��0TPU6J�Q� �������";�"#�!��&(�:�)���898*��'�����"�%�&V�;!�WXYZPU

��@A@�/6J�Q� �������";�"#�!���.G.W[LODOU�&(�:�)���)�(��#��O�'!���,A+���'���'��'���'�����?8B��.��1���(?+���7�5

�� �DD6J�Q� �������";�"#�!���W\?DD�&(�:�)���)�(��]���(<�*^�_���!�`

B��(�?0�*'���� '8�1��?8�(�0�����7�� ' ?����� HGUVW��,A+������5��6��5'�)B��' ��?8�=� �� �D'T'�>��*'� ���������' (*''������ �� !"#$%&

a�D������������!��9)!��!��_�%���<���"�;�<�"b���"�<�"a�D�D�� �������������#���#�-�!<���"�;�<�"

in_a���������#���#���MM�N�;-;"��-�!<���"�>

in_b���������#���#���MM�N�;-;"��-�!<���"�2

in_c���������#���#���MM�N�;-;"��-�!<���"�L

in_d���������#���#���MM�N�;-;"��-�!<���"�H

����������� �char in_a(x)

char in_b(x)

char in_c(x)

char in_d(x)

�������������������������� ���������������������������������������������

��������

�� ����!"#��$�%���&��$'%

���������� ���

char x=0; // "�(��)��*�"��x�!+&�!�,-���.//�+01 ������������������

x = in_b(2); // ��������������2 2��/ ��+��1��345��/�*!�,-���6*����*�"��x

Page 51: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��51

a�D�O�� �������������+�9�+%�(:���9��<���"���"�<�"out_a� �!������8�����MM�N�;-;"����9��<���"�>out_b� �!������8�����MM�N�;-;"����9��<���"�2out_c� �!������8�����MM�N�;-;"����9��<���"�Lout_d !������8�����MM�N�;-;"����9��<���"�H

����������� �out_a(char _bit,char _dat)

out_b(char _bit,char _dat)

out_c(char _bit,char _dat)

out_d(char _bit,char _dat)

����������

_bit �������������� ��������������������������������������� �������

��������

6�������&����

���������� ���!out_a(3,1); // �������(��-������+��1��378�!"#��$'%out_b(6,0); // �������(��-������+��1��349�!"#��$�%out_d(7,0); // �������(��-������+��1��3:��!"#��$�%

Page 52: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

52������������� ������������������������������������ IPST-MicroBOX

a�D�c�� ������������!�����+%�(:���-;!_�%!��<���"���"�<�"set_a��_�%!�������-;!�dDe�*��+���MM�N_�$�+��<���"�>

set_b��_�%!�������-;!�dDe�*��+���MM�N_�$�+��<���"�2

set_c��_�%!�������-;!�dDe�*��+���MM�N_�$�+��<���"�L

set_d��_�%!�������-;!�dDe�*��+���MM�N_�$�+��<���"�H

clear_a�_�%!�������-;!�dPe�*��+���MM�N_�$�+��<���"�>

clear_b�_�%!�������-;!�dPe�*��+���MM�N_�$�+��<���"�2

clear_c�_�%!�������-;!�dPe�*��+���MM�N_�$�+��<���"�L

clear_d�_�%!�������-;!�dPe�*��+���MM�N_�$�+��<���"�H

����������� �set_a(x)

set_b(x)

set_b(x)

set_d(x)

clear_a(x)

clear_b(x)

clear_c(x)

clear_d(x)

����������

x��������������� ���������������������/� 2�����������������������

���������� ���"

set_c(6); // �������(��-������+��1��3;9�!"#��$'%clear_b(3); // �������(��-������+��1��348�!"#��$�%set_d(0); // �������(��-������+��1��3:��!"#��$'%

Page 53: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��53

a�D�a�� ������������!���+%�(:���-;!_�%!��<���"���"�<�"toggle_a� �_�%!�����!��!�����-;!*��+���MM�N_�$�+��<���"�>toggle_b �_�%!�����!��!�����-;!*��+���MM�N_�$�+��<���"�2toggle_c� �_�%!�����!��!�����-;!*��+���MM�N_�$�+��<���"�Ltoggle_d� �_�%!�����!��!�����-;!*��+���MM�N_�$�+��<���"�H

����������� �toggle_a(x)

toggle_b(x)

toggle_c(x)

toggle_d(x)

����������

x��������������� ����������������/�-/� 2�����������������������

���������� ����

toggle_a(2); // �/�-/� 2��+��1��375

toggle_d(4); // �/�-/� 2��+��1��3:<

a�O�������������#)��)��

a�O�D�� �!������JAA�*'� ���' �������'=�8� 1�'3B�����8�)��)�)�'(?����������� �

void sleep(unsigned int ms)

����������

ms� =>����������!*/������������*�=����*?�2//2*2����������6����������������9@A@8@��������

6�������&�������������� ���#

sleep(20); // ���*�!*/�"�(����5���2//2*2���sleep(1000); // ���*�!*/�"�(����'�*2���

Page 54: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

54������������� ������������������������������������ IPST-MicroBOX

a�c�������������������#���#��8����!a�c�D�� �!������C5CJ1B

B�5��'���'�1�'���(?+�'��PP'3B�4���,� -.�X��?��'��1��?8�B��' �����PP'3�1�'��������)�).���YZ��).�(*'B�57�5��'�5��6����['��)��Z�@Q�Y2ZN\��(?8����� ����1�'����Z�@Q�]^

����������� �unsigned int analog(unsigned char channel)

����������channel�=>�������>����(��/��������������������������������-+��1��37������37�

���������&����!"#� ���B/�2 2��/�6�� ������"/������� ��C��B/�"/��������(��/��!"#��2 2��/ ���2�+D��������� C�? ���B/ (��*��/(!�?��'��-2�������������!"#�6"6���&���������� �����'�58�=��B" ��!/ E���2-���&����������8FF�=��B" ��!/ E���2-��

���������� ���$

int adc_val=0; // ��������*�"�������-!�,-����(��/�������6��adc_val = analog(2); // ��������(��/��>����5���������-+��1��375��/�*!�,-������*�"��adc_val

Page 55: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��55

a�c�O�� �!������f51QB�5�*'� ���' ��'���'�1�'���(?+�'��PP'3��,� -.��X<�RQ+��A+���� ��5'���.��.5'�('�

� ����'7�5����� ������1,� -.����� 1��-� F; GHIJK� #L������������ ���� ���� ���������������������������� ������������ !�"!��!��#�$%��"���������&'()*+,-./012��%"� �����������%"�����3��

����������� �#define knob() analog(7)

����������6���

���������&����!"#� ���B/�2 2��/�6�� ������"/������� ��C��B/�"/��������(��/��!"#��2 2��/ ��>����37��C�? ���B/��*��/(!�?��'��-2������!"#�6"6���&������������ �����'A�58

���������� ���%

int adc_val=0; // ��������*�"�������-!�,-����(��/�������6��adc_val = knob(); // ��������(��/�� ����*�������"��-���6��-��.�*� �����./

// �/(+��1�!���"�(���1�G:HIJKLMNHOP��/�*!�,-������*�"��adc_val

����&������������'(&�)��*���� +,-.����/���0��1(�/2�23���������31��

Page 56: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

56������������� ������������������������������������ IPST-MicroBOX

a�a������������������-���)����������#��)��a�a�D�� �!��������@A06�C0�

B�5�*'������� )+�.5��' ������'��7(��� -� F��'���'B��' ����1@6����?8 -L����������� �

void timer_start(void)

a�a�O�� �!��������@A06�1B�5�*'� ���_��' ������'��7(��� -� F��'���'B��' ����1@6����?8 -L����������� �

void timer_stop(void)

a�a�c�� �!��������@A06C7AB�5�*'� ���8���' ������'��7(��� -��+��31� F��'���'B��' ����17��@6����?8 -L����������� �

void timer_pause(void)

a�a�a�� �!��������@A060A7@AB�5�*'� ��������'.����7(��� -����'��' �8��������'��+��31�'�M̀�-��+��timer_pause

F��'���'B��' ����1@6����.���=�8�,)+���'�'���)�L����������� �

void timer_resume(void)

a�a�U�� �!������@A/B�5��'���'���'(?+7(��� -���7�5B�����8�)��)�)�'(?����������� �

unsigned long msec()

��������!*/����-6��=����*?�2//2*2���� C�?>�2� ���B/!"#��--� KOQR

Page 57: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��57

a�a�E�� �!������A/B�5��'���'���'(?+7(��� -���7�5B�����8�)�'(?����������� �

unsigned long sec()

��������!*/����-6��=����*?*2���� C�?>�2� ���B/!"#��--� KOQR

���������� ���4

void main() // ����������{

timer_start(); // ���� �� ���������������������������while(1) // �������������{

lcd(“Time: %l sec “,sec());// ����������� �����!�����"���# ��"��� ��$%&'}

}

5&���������6������������ #�����!����"(�)������ �(��*������# �*���)+����������)#���$,'-./0123-45$�������*��������$6-7849:;$��)�*������# �*���)+����������)#���$,'-./0123-45$�"(�)����� ���+�������$ ��<���������� �����!�� �=� �����#�����$ >?@A36-7849:;$ ���������������)��������B��

�1(�����(��7��/���0��1(�/2�23���������31���89:;<=>?�:@A��5&����/���0�'�B�����B��2�2��*2��C:[email protected]

�/���0��1(�/2�23���������31��

Page 58: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

58������������� ������������������������������������ IPST-MicroBOX

a�U������������������'���,�*���FGH�"�)��+�I��#)��'�8�FGH�'���,��g����!a�U�D�!�������("#�*��h����')��

B��' (�����*'��+�?0�1.5��*'��� �������� !"#$%&��'.����5'������ ����.������E������F��� �;���EL

FYL���A+��.���'8�5��6��a��).�'�,� -.�>������ �������� !"#$%&���5'������.����%b������ ����.������E������;���E

FNL�.���'8�'������$E������ �� !"#$%&���5'������.���;�c��E������ �;���EF\L�.���'8�'������$\������ �� !"#$%&���5'������.���;�c��\������ �;���EFEL�.���'8�'������$N������ �� !"#$%&���5'������.���;�c��N������ �;���EF]L�.���'8�'������$Y������ �� !"#$%&���5'������.���;�c��Y������ �;���E

���

���

���

���

���

���

����

��� ��

��� ����

���

��

��

���

���

���

���

���

���

��

��

�����������

��

�����

�����

���

��

����

������

���

��

��

���

���

���

���

���

���

���

� ����

� � � � �

������ ������

!��

�� "

� �!"

��

����

����

������ ������� ������� ������

�����

�������

����� �

��������

������������ �������������������

��������� ���������������������

���� �

!���� ��

��� ��!

����

�� ��������

�!#�$�

��

!���% ���

�������

a�U�O�� �!������AB@A5�������WGR.Gi?B�5�����5��6�(?+�9:;�.������<���������� ����.������E������F��� �;���EL����������� �

void segment(unsigned int val)

����������val������������������ ���B/������������./ ���B/��ST:���*!/ �����*��<��/���>�*� ���B/

�!"#�6"6���&���������������UUUU������� ���B/��������*���� (���� ���*��!"#��N�N�N�N

Page 59: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��59

���������� ���G

segment(2549); // �# ����������$CDEF$�"�$%G'$�����$H$#���

���������� ��� Hint i=0;while(1){

sleep(1000); // ���������$I$�����"segment(i++); // �# �������������$i$�"�$%G'$�����$H$#���$+�����+������$i

}

a�U�c�� �!������AB@A5�6K1�B�5��������Fd#U�H# eU�f�dHL����9:;�.������<�����

����������� �void segment_dot(unsigned char _dot_val)

����������_dot_val ���������������������� �� D��VJ���������=������./�C�?����!"#�6"6���&�

'�A5A�8���&��<�C�?�/����'� (��- ����� *��&�

a�U�a�� �!������AB@A5�61TTB�5�_��' �����5��6����9:;�.������<�����

����������� �void segment_off(void)

a�U�U�� �!������JAKgB�5�*'� ���������' .)�/������9:;������a��������� ����.������E�����

����������� �void led8(unsigned char dat)

����������dat��������������� ���B/!+&��*-�D�����2�W��- ���ST:�����,�&�� ���B/�X�-2� ��+��1��;

a�U�DP�� �!������JAKg61TTB�5�*'���B�5�9:;��86�B��@'�1���� ��A+�,)�' 3'B� 6����7�.-�5��6�

����������� �void led8_off()

Page 60: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

60������������� ������������������������������������ IPST-MicroBOX

a�E�����������+��(��"�����"��a�E�D�!�������("#�*��h����')��

�' (�����*'��+�?0.5��*'��� �������� !"#$%&�.�������� ������.� -7M. F��� �O&�;>�NL

1)�*��������������

�������? �� D�����3:5� ���.�*� ��YHZ[O4\]�! ����- D��:^_'7� ���.�*� � �-��!���1

�������? �� D�����3:8� ���.�*� ��YHZ[O4\]�! ����- D��:^_'4� ���.�*� � �-��!���1

�������? �� D�����3:<� ���.�*� ��YHZ[O4\]�! ����- D�����3`Y'T� ���.�*� � �-��!���1

�������!���16a������! ��� D�����\bc'� ���.�*� � �-��!���1

�������/�� ��?6a������-��!���1�����! ��� D����6a!/�?� ���.�*� � �-��!���1�def���&��� =>� �� D����6a!/�?� ���.�*� ��YHZ[O4\]��,6��

1)�*��������������!�������? �� D�����3:�� ���.�*� ��YHZ[O4\]�! ����- D�����:^_57� ���.�*� � �-��!���1

�������? �� D�����3:9� ���.�*� ��YHZ[O4\]�! ����- D�����:^_54� ���.�*� � �-��!���1

�������? �� D�����3:@� ���.�*� ��YHZ[O4\]�! ����- D�����3`Y5T� ���.�*� � �-��!���1

�������!���16a������! ��� D�����\bc5� ���.�*� � �-��!���1���

���

���

���

���

���

��

��

��� ����

���

��

��

���

���

���

���

���

���

��

��

�����������

��

�����

�����

���

��

����������

���

��

��

���

���

���

���

���

���

���

� ����

��

��

��

��

�#

����

����

�# �

��

����������

�& ��&

��

���

��������

�����

��������

�����

���

��

�������

!�'��(������

Page 61: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��61

a�E�O�� �!������@1�10B�5�*'� ��������.� -7M. ����������� �

void motor(char _channel,int _power)

����������_channel� =>�������>��� ����!���1�������� �-_power�=>��������(��-��� ��?+/�����=�������!���16a��������=�>�*��N'�������'��

�������������_power�!"#�-*��G'�����'��P����=����!���1��D�6"=��2)����������������������_power�!"#�/-�GN'�����N'��P����=����!���1��D�6"=��2)��� �����*�=��������������_power�=��!"#������!���1 (�?D���D��G��(���*���=����!-����!���1�*�!�?�=>�ag��1>���motor_stop (��-B��1�*���P

���������� ���

motor(1,60); // ���������=���$I$ ��!����$JKL$�������#��#� ................

motor(1,-60); // ���������=���$I$ ��!����$JKL$�������#��#� ���M����������������� ��� !

motor(2,100); // ���������=���$C$ ��!����$IKKL$,#��#� 5

a�E�c�� �!������@1�106�1B�5�*'� ���8���' ������.� -

����������� �void motor_stop(char _channel)

����������

_channel���������������>��� ����!���1���������?D�� !�&�

_channel�������!"#��'��&��*�I(��5���������� �����-JK

_channel�������!"#��5��&��*�I(��5���������� �����-JK!

_channel�������!"#��7SS��&��*�I(��5����������7�1������

���������� ��� "motor_stop(1); //��?D���� �-��!���1>����'motor_stop(2); //��?D���� �-��!���1>����5motor_stop(ALL); //��?D���� �-��!���1�����5�>����G����>����'��/(�5P

Page 62: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

62������������� ������������������������������������ IPST-MicroBOX

a�I������������);"���)���(�������',�)�-�'���,�'�8<���"���!��8����j�H�JCkZ�1la�I�D�!�������("#�*��h����')��

������������ ������������������������������ !"#��$� ������������%�%�&�'�(��)�����'� *��������+�,-./01� 2� =�8����*'��+�?0�1��'���'�'���).�-��.)�����8����\�.��(?+.)�.�0�86������ �; GHIJK� #�RQ+�*'����A+�������gY2��gN���1��g\

���

���

���

���

���

���

��� ���

��� ���

�����

���

��

��

���

���

���

���

���

���

��

��

��� ��� ��� �

��

��� ��

�����

���

��

��

�� �����

���

��

��

���

���

���

���

���

���

���

� ����

��� ��� ��� �

���

��

��

���

���

���

���

���

���

���

������

���

���

���

���

���

��� ��� ���

���

���

� � �� � �

���� � � ���

� ��

������������� ��� ��� ������������������������������� ���!�"#$%&'

�(���)��*)��+�,+-���

, +.��/01�2�������3��4� ��5�+��+��6��-.) �78���9�

1"$#:;<="> ���������

78���9�7�+�8�7�?��������@�?��*�

78���9�A����B"CD>EFG��-.)+����)��

a�I�O�� �������������#���#��m��8�);"���?�5�8����\�M̀�-��+��A�

sw1()� _�%�������"�)-����m��8!��!��);"���WnDsw2()� _�%�������"�)-����m��8!��!��);"���WnOsw3()� _�%�������"�)-����m��8!��!��);"���Wnc

����������� �!"#���C��ag��1>��������-�������/� 2� �� �+��1�����*� �! ����-�*2�>1

��������!�&��*2�>1�B���� (�&����!"#��$�%!�&��*2�>16���B���� (�&����!"#��$'%

Page 63: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��63

���������� ��� �

void main() // C"������/��{

while(1) // *���-6���B� -{

if(sw1()==0) // ��* ��-*����*2�>1�h`'��B�����&�6��{

lcd(“sw1 active!”); // ���� ���*��*���1����L�(�-�C��B/�S;:sleep(500); // ���*�!*/�!+&����� ���*��

}

else // ������-�����*2�>16���B���{

lcd(“#c”); // !�/?�1 ���*���C��B/�S;:}

}

}

a�I�c�� �������������#���#��m��8�);"��

�?�5�8����\�M̀�-��+��A�

sw1_press()�_�%�������"�)-����m��8!��!��);"���WnD�_���!oN8!����-�!)#�-8(�!��!��);"���WnD

sw2_press()�_�%�������"�)-����m��8!��!��);"���WnO�_���!oN8!����-�!)#�-8(�!��!��);"���WnO

sw3_press()�_�%�������"�)-����m��8!��!��);"���Wnc�_���!oN8!����-�!)#�-8(�!��!��);"���Wnc

����������� �!"#���C��ag��1>��������-*���* ��-������*2�>1=�i

����������6���

Page 64: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

64������������� ������������������������������������ IPST-MicroBOX

���������� ��� #void main() // C"������/��{

int i=0; // "�(���)��*�"�!�,-��������-lcd(“Press sw2 to run#c”); // ���� ���*��� ��*���=�����*2�>1�h`5

// !+&�! ���B��(--�����-���sw2_press(); // �� ��*�� (�������*2�>1�h`5

// �� (��(���������-��������6"while(1) // *���-6���B� -{

lcd(“Count: %d “,i++); // ������������- ����*�"��H��C��B/�S;:sleep(1000); // ���*�!*/�"�(����'�*2���

}

}

Page 65: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��65

a�g������������������'���,�+%��)�(*��&(�:��FLH�'���DEpO���',�)�-�'���,�'�8<���"���!��8����� jH�JCkZ�1la�g�D�!�������("#�*��h����')��

B��' (�����*'��+�?0�1.5��*'��� �������� !"#$%&�.�������� ������1,� -.����� 1��-�F��� �; GHIJK� #L�=�8����*'��+�?0�1��?8���'7�����8�=��6��9>;���'�Yh�.�����T �N�� (��(?+.)�.�0����� �; GHIJK� #

���

���

���

���

���

���

��� ���

��� ���

�����

���

��

��

���

���

���

���

���

���

��

��

��� ��� ��� �

��

��� ��

�����

���

��

��

�� �����

���

��

��

���

���

���

���

���

���

���

� ����

��� ��� ��� �

���

��

��

���

���

���

���

���

���

���

������

���

���

���

���

���

��� ��� ���

���

���

� � �� � �

���� � � ���

� ������������� �� ���������� ����� ���������������

� !"#$%�& ���������

��������'������()��*�+���,�('�-*

,� �-�.�'��.����'����/����������

�������0� ��1�23&456������7.���.�

Page 66: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

66������������� ������������������������������������ IPST-MicroBOX

a�g�O�� �!������J/K������FLHB�5�����5���'�(?+=��6��9>;���'��Yh�.�����T �N�� (������������� �

void lcd(char *p,...)

����������p�=>��������/D�� ���*��������������./�C��B/�S;:�C�?�������������B"�--�������

���/��j�1+2!)j!+&���*�����./��� ���B/��*!/ �B"�--�&�i����6������*�1������ ���)����kZ���&��k; =>���-����������./��*���j��'���*kV���&��k: =>���-����������./!/ E���2-��������N85A�9X�����d85A�9�kK���&��kS =>���-����������./��*!/ E���2-��������N5A'<�A<X8A9<X����

d5A'<�A<X8A9<�kl���&��kF =>���-���!+&�����./ ���B/�-- ���*� �2�

G�����)�2?��8��/��PmZ �?1������!+&����!�/?�1 ���*����������./=���-���6"mQ �?1������+2!)j!+&������� ���*��6"�����-������� 5

��������6�������&����

�������� ������� �)������������������� ���#�����"��)������(�N$��O)�(�����# �*������� ����*� +�� � �

���������� ��� $

lcd(“Hello LCD”); //��# ��������$PQ004$%&'$�"��� ��$%&'.//�+01�C��B/�S;:��!"#���������������

���������� ��� %lcd(“abcdefghijklmnopqrstuvwxyz”);

//��# ����������<�����������R�����$IJ$��$����)��S ���)���# �!����� �"�$C$���

.//�+01�C��B/�S;:�!"#��������� ����������

����������

Page 67: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��67

���������� ��� 4

lcd(“Value: %d unit “,518); //��# �������������������������$,DIT5$�"��� ��$%&'

.//�+01�C��B/�S;:�!"#������

���!�"#$�����

���������� ��� G

lcd(“Value: %d “,analog(4)); //���������)������"�=���$E$,+����$?UE5$���# ��"��� ��$%&'

.//�+01�C��B/�S;:�!"#������

���!����

C�?�������&����������6��C�?�� ������������������'A�58

���������� ���!Hchar c_test=’j’;

lcd(“abcd%cxyz”,c_test); //��# �����R�$VWX$��������������<��N

.//�+01�C��B/�S;:�!"#������

��������

���������� ���!

lcd(“Value: %f “,125.450); //��# �����������������������������M��!�$Y$���

.//�+01�C��B/�S;:�!"#������

���!�#%"&'"(

���������� ���!!lcd(“count1: %d #ncount2: %d”,12,48);

//����� ���*����*���-�5������*-�D���/(�?1�mQ�!+&�������=���/D�� ���*���������?�mQ//� (�B�������������./-�������5���&�-�����/���

.//�+01�C��B/�S;:�!"#�����������#!�#%

�����%!�'$

Page 68: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

68������������� ������������������������������������ IPST-MicroBOX

a�q���������������������b�#�+%�(:�,#��<���"���!�(��',�)�-�'���,�'�8<���"���!��8����� jH�JCkZ�1la�q�D�!�������("#�*��h����')��

B��' (�����*'��+�?0�1.5��*'��� �������� !"#$%&�.�������� �; GHIJK� #���1.���'8��5'(?+���.����:b�X9��%b������� �; GHIJK� #����,� -.���� ��b��N\N������,)��.� -

�' ��A+��.��������,)��.� -�'�' @(*'7�5� N����T31�A�

YV�.����5'���,� -.���� ��b��N\N�=�8. �=�8B�5�'8�>&�E�F����', 5�������� ������1,� -.����� 1��-��5�L

NV�.�����,� -.�i�$�=�8�'�.�������PP'3,� -.�i�$�����,� -.���� ��B�� 3?�?0B�5(*'�' �����'8�'�'����=� �� ��'�,� -.���� ����+��A������'�=� �� ��� j�B�5����'8>&�E�('k̀l���m�=��6��' -�F���m�=( S�,(-L�����'��� A+�=� �� ����5��*'�'.����5'������.������� ������1,� -.����� 1��-�(��, 5�������0�B�5�_�=� �� ��X^b��"#nV�����(*'�' ��=� �� ��5�8

���������

����������� ����������������������������� !����"���#$�� !��$%� &'$� �()(*+�&�,���� !-&�&(�� !��$%� &

���� ������� !��$%� & ��+�&�,���� !./�� �

�������� !����" ��+�&�,���� !

������

���

���

���

���

���

���

��� ���

��� ���

����

���

��

��

���

���

���

���

���

���

��

��

��� ��� ��� �

��

��� ��

�����

���

��

��

�� �����

���

��

��

���

���

���

���

���

���

���

� ����

��� ��� ��� �

���

��

��

���

���

���

���

���

���

���

��� �

����

���

���

��

��

�� �� �

���

���

� � �� � �

���� � � ���

� ��

Page 69: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��69

a�q�O�� �!������7C0�B�5���5��6��'8���� 1���('�� D'�����=��6�� iXb�� B�7�=� ���=( ���� -

X��onJYh������ �� !"#$%&��=�8�?��. '� j�B��' @�'8(���5��6�� )+�.5�(?+�p2hZZ��)..���)�'(?

����������� �void uart(char *p,...)

����������

J� =>�������-�������/D�� ���*����������������6"?��+��1���D��� �����+2*!���1� C�?�������������B"�--����������/��j�1+2!)j!+&���*�����./��� ���B/��*!/ �B"�--�&�i����6�����

�*�1������ ���)����

kZ���&��k; =>���-����������./��*���j��'���*

kV���&��k: =>���-����������./!/ E���2-��������N85A�9X�����d85A�9�

kK���&��kS =>���-����������./!/ E���2-�������� N5A'<�A<X8A9<X����d5A'<�A<X8A9<�

kl���&��kF =>���-���!+&�����./ ���B/�-- ���*� �2��G�)�2?��8��/��P

n[ �?1������������=�� ���*��>2�6"����������? ��-�����

nQ �?1������+2!)j!+&�������=�� ���*�� ���-�����=���

�������� ������� �)������������������� ���#����$��O)�(�����# �*����*� +�� � �

a�q�c�� �!������7C0�6A�6QC7KB�5�*'�����. '���� A���. '� j�B��' �A+��' �5��6�������,)��.� -

����������� �void uart_set_baud(unsigned int baud)

����������

oLpV� =>���������������-��=�����&���� ���B/��D�����-���+2*!���1

������6��������������������-�������(�����"� =��)������$ FZJKK$�����������"

���������� ���!"

uart_set_baud(4800); //������������-��=�����&���� ���B/!"#��<AX���-2����*2���

Page 70: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

70������������� ������������������������������������ IPST-MicroBOX

��6�7������8������������9:';1�-;1<&=>?'q�!�&�!"r�C"������sMJt[�ct[fHQLK� ("���u��������������>&����!>&�������(-D>&�=�>����vLft�w��/�*�/2��\x

5q�!/&��+��1���D���������-!>&�������-C"������sMJt[�ct[fHQLK� ����*�?���!"#��;\Y'���/�*�/2�"Dy��\x

8q��������������E��=�����&���� ���B/�����B"�C�?������!"#��U9���-2����*2����X�-2� ���B/�'�-2��?D��6���-2�+��2��� � !�&���������/�*���"Dy��\x� ("���u���������������/�� ���sMJt[�ct[fHQLK�+����������-����2�����&���� ���B/

�������������������������� ������������������������������������� �!"�#���$�� %&����' (�)��* ����!#�� $��������+���!��� �%&#�� $���������������,�$%����!�%--�'#�� $�./0� ����#�� $������������' &����1��!�������2�!�����&&�/33�4/56789�:;6<�:6;=795>�����+$��$ �%&�*!�!,��?7@6;0AB���$��$%C!�*!�!,����!*����#�� $�������!" � 4D7E:98FG7;>� H������* ����!#�� $�����#���� !����%&���������!*�)%!"�#���$��

Page 71: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��71

a�q�a�� �!������7C0�6BA�fAk

B�5 ���5��6�(?+�'�'�,� -.���� ��'��' �A+��' �5��6����� �������,)��.� -

����������� �char uart_getkey(void)

����������6�������&����

���������� (�&����!"#��$�%�!�&�?��6��������-��� �(=�i�! ����?��z����- ��C��B/�&���� ���B/��D���

� � !�&�������-��� �(! ����?��C��B/�&���� ���B/��D���� (�&����������-��� �(����i ��ag��1>��

���������� ���!�

void main() // ����������{

while(1) // �������������{

if(uart_getkey()==’a’) // ���������� ��[��"!�$\1]$���S��� ��<����{

lcd(“Key a Active!”); // �# �������������� �����"���� ��[��"!�$ \1]sleep(1000); // ����������# ����������)��^$I$�����"

}

else

{

lcd(“#c”); // ���"!����������"����# �*������ ��$%&'}

}

}

��������$$�����"!� =����_�̀��=��$uart �+<��#����������������!�+������������)_�̀��=��$uart_getkey�+<����������R�) N�(�$ ������ ��<�������a� ����#<��#���������)������� ��#<��#��������������� �S������ ��b�$FZJKK$�����������"$��������������$T$���$��)��� =�������+����"(� !�������$,��b�����(����5$��<���"�����"!� =����_�̀��=�� ������$cd��S<���b������� ��<�������a� ����S��!�� �����������B���"���!� =����� !�����$�+<��� ����c�c��� ������"!����������$�����<��*��+e�������������������"�!�������������� ����#<��#���������a#����S��� �� !��"!�������� ������_�̀��=��$uart_set_baud$� !*��+e��������d�Sd� ��!���$ ��<�������� ����#<��#��#���d(�$ ���#��*���)���������S������ ����#<��#�������� ��!

Page 72: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

72������������� ������������������������������������ IPST-MicroBOX

���

���

���

���

���

���

����

��� ��

��� ����

���

��

��

���

���

���

���

���

���

��

��

�����������

��

�����

�����

���

��

����������

���

��

��

���

���

���

���

���

���

���

� ����

�� �� �

������������ ��������������������

a�DP�����������!����;����9�a�DP�D�!�������("#�*��h����')��

B��' (��������*'��+�?0�1.5��*'��� �*'=,��q8=R�FO&���:Xr:bL�.����5'������ ������������ !"#$%&�(?+���.��,� -.B�4

a�DP�D�� �!������QAAbeep_a�����!!����;����9��)�(m���OPPP\r�*��+���MM�N_�$�����DP�(;��;);��*�-�!<���"�>

beep_b�����!!����;����9��)�(m���OPPP\r�*��+���MM�N_�$�����DP�(;��;);��*�-�!<���"�2

beep_c�����!!����;����9��)�(m���OPPP\r�*��+���MM�N_�$�����DP�(;��;);��*�-�!<���"�L

beep_d�����!!����;����9��)�(m���OPPP\r�*��+���MM�N_�$�����DP�(;��;);��*�-�!<���"�H

����������� �void beep_a(char ch)

void beep_b(char ch)

void beep_c(char ch)

void beep_d(char ch)

����������ch��������������� ����������������/�-/� 2�����������������������

Page 73: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��73

a�DP�O�� �!������175Ksound_a������������!!����;����9�*��+���MM�N_�$�-�!<���"�>sound_b������������!!����;����9�*��+���MM�N_�$�-�!<���"�2sound_c������������!!����;����9�*��+���MM�N_�$�-�!<���"�Lsound_d������������!!����;����9�*��+���MM�N_�$�-�!<���"�H

����������� �void sound_a(char ch,int freq,int time)

void sound_b(char ch,int freq,int time)

void sound_c(char ch,int freq,int time)

void sound_d(char ch,int freq,int time)

����������ch��������������� ����������������/�-/� 2�����������������������freq����������������*���������!�?�time���������������>�*�!*/�=�������!�2�!�?�!"#� ���*�!�,�!��� ����q'��2//2*2���

���������� ���!$

beep_d(2); //������ �#"!�����S"�$CKKKPf$���$IK$����������"�����+����$?UCsound_b(4,800,500); //������ �#"!�����S"�$TKK$Pf$���$DK$����������"�����+����$?E

Page 74: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

74������������� ������������������������������������ IPST-MicroBOX

Page 75: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��75

� �!�"�#������$%������&'()*+����#,��-

������������� ����� ���������������� ����������� ��!"#��#$��% �&'���(�# �&)*� +,�$#�%- . �/��� (�)�01#�2���%��#��3456�7�89:;<=>��� ��2 ��+�- ��������� ����������?�@#������ ���2������A�#�0)��@��,B�C� �@�% #� �&'���(�� % �!����)�#)�# ��� � ����$D#D2 �#)��� ��?"�&)*� +,�$#�%���� % �!���C�����#�0������� ���2���(�2 �)E��F& ��+�%2D���?�@#������ �����������)E�(%��� ,�����+,��CG#D������ # �&)*� #G���)E���E�&'����� ���+,�$#�%$��02@��(�# ���H( ���)&� #���������,B�,��2 �%�,���H�IH- &

��#�(�'�C ## �����#�0�� ������� ����������$��# �����#�0������� ���2��- ��������� ��� �������$��@��)�%�#�12%��������� ����)�# ��� � ����2@��'��J�����2 ���C��#&��%K@����% &���%#)�K�%&������L�MNOP��)��$#2�QR����S���9�MT��S���UV�W��S�8�X�Y���$�����U�:���+�%�� ����������K@��� �)���E

������������ ���

�A�#�0)��������C1��"2- ������ ����E�,B�#�12%����A�#�0)������0�K� �@Z� �KZHD[ �D��

�������������������

�� (�)�K� �@ZK2 � #���������D)@������#� (�

����������� �double sqrt(double x)

����������

x������������ ��������������� �����

��������

������ ����������

Page 76: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

76������������� ������������������������������������ IPST-MicroBOX

��������������������� (�)�K� �@ZK2 �Y\]Y�^�_�`ab_bc����������� �

double exp(double x)

����������x�������������

���������������������

���������������� !"�#�� (�)�K� �@ZK2 ��# �HI %d ��H������������ �

double log10(double x)

����������x����������� ����������������������� !�"��#

�������������������$%&��

����$����������� !"�� (�)�K� �@ZK2 ��# �HI %d �I��%0 DH(�'�� VM����������� �

double log(double x)

����������x����������� ����������������������� !�"��� '���

�������������������$(��

Page 77: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��77

�����������������!%K� �@ZK2 ����##� �)������������ �

double pow(double x,double y)

����������x�������!�"y������'�)������

��������������������*

����&������������'(K� �@ZK2 � ��MY�� �D��+#Z%HDH���D)@������#� (������������ �

double sin(double x)

����������x����������� ����������������+,(��-��� �."�/01"���/"

������������+,(�������

����)�����������*!�K� �@ZK2 � 8:��MY�� �D��+#Z%HDH���D)@������#� (������������ �

double cos(double x)

����������x����������� ����������������2%+,(��-��� �."�/01"���/"

������������2%+,(�������

Page 78: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

78������������� ������������������������������������ IPST-MicroBOX

����+����������� �(K� �@ZK2 ��RMTYM���� �D��+#Z%HDH���D)@������#� (������������ �

double tan(double x)

����������x������������ ����������������34(&�(3� �."�/01"���/"

������������34(&�(3������

����,�������������'(K� �@ZK2 �N98���MY�� �D��+#Z%HDH���D)@������#� (������������ �

double asin(double x)

����������x������������ ����������������452+,(�� �."�/01"���/"

������������452+,(��������.����+,(67 8�9

�����#������������*!�K� �@ZK2 �N98�8:��MY�� �D��+#Z%HDH���D)@������#� (������������ �

double acos(double x)

����������x������������ ����������������2%+,(�� �."�/01"���/"

������������4522%+,(��������.����2%+67 8�9

Page 79: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��79

������������������ �(K� �@ZK2 �N98��RMTYM��� �D��+#Z%HDH���D)@������#� (������������ �

double atan(double x)

����������x������������ ����������������34(&�(3� �."�/01"���/"

������������45234(&�(3�������.����34(67 8�9

������������������ �(�K� �@ZK2 �N98��RMTYM��� �D��+#Z%HDH����[.�2@����#� (������������ �

double atan2(double x,double y)

����������x������������:;y��������������"

������������<52�34(&�(3������=*�.����34(67 8�=*9

������������������'(�K� �@ZK2 ��X�Y9W:V�8���MY����D)@������#� (������������ �

double sinh(double x)

����������x������������ ����������������>*?�5@%$,2�+,(�

������������>*?�5@%$,2�+,(�������

Page 80: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

80������������� ������������������������������������ IPST-MicroBOX

�����$�����������*!��K� �@ZK2 ��X�Y9W:V�8�8:��MY����D)@������#� (������������ �

double cosh(double x)

����������x������������ ����������������>*?�5@%$,2�2%+,(�

������������>*?�5@%$,2�2%+,(�������

����������������� �(�K� �@ZK2 ��X�Y9W:V�8��RMTYM�����D)@������#� (������������ �

double tanh(double x)

����������x������������ ����������������>*?�5@%$,2�34(&�(3

������������>*?�5@%$,2�34(&�(3������

�����&�����������*�' K� �@ZK2 �@�# �,A�[.� E��������[�H�%����������� �double ceil(double x)

����������x������������ :"�/ ��"�� ����"A

����������� ��B��C�����0D�:;��)"�����

Page 81: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��81

�����)�����������- !!�K� �@ZK2 �@�# �,A�[.���������[�H�%����������� �

double floor(double x)

����������x������������ :"�/ ��"�� ����"A

����������� ��B��C�����0D�:;�������

�����+�����������-�!.�,B��A�#�0)��( ��&'���� �[.�������[�H�%���K2 ����������� �

double fmod(double x,double y)

����������x��������:;y����������"

��������:;C�����.�������=*

�����,������������!.-K� �@ZC� �@��DG%$���[.�������[�H�%�&'��$�#��K�,��#������������� �

double modf(double x,double * y)

����������x����� �� :"�/ ���������E/�����0�F��#y�����01"��'�):; ��B��C��E/�����0�F��#�����

��������C��""�G ������8E��/����01"'"����� H��I%J@$�9

Page 82: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

82������������� ������������������������������������ IPST-MicroBOX

����������� �'("�����C1#�12%����A�#�0)������0���# �C)# ��#���@#)�� ��)#���(�'��D�H���- . �/

����������������� ��*��K��( �)#���D)@�� ��1- ���� ��)#������#� (������������ �

char *strrchr(const char *s, int c)

����������c����������F ���������.�K�/L"��/�����F�+� ���H����."�s�������/�����F �����."�

����������"���E�������������F�2�E�����B ��#CF��"����MNOO

����������������� �*��K��( �)#���D)@$�#�1- ���� ��)#������#� (������������ �

char *strchr(char *s, int c)

����������c����������F ���������.�K�/L"��/�����F�+� ���H����."�s������/�����F �����."�

����������"���E�������������F�2�E�����B ��#CF��"����MNOO

����������������� �*� D2�� ��)#������ �@�#)������������ �

char *strcat(char *p1, char *p2)

����������p1�������/�����F'P�."��p2�������/�����F'P�.���

����������"���E���������?7� Q�/B����/�����FL. � �������)"C����������/��/�����F�?R

Page 83: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��83

����$������������ �(*� D2�� ��)#������ �@�#)�D %C� �@�D)@���#� (������������ �

char *strncat(char *p1, char *p2, int n)

����������p1�������/�����F'P�."��p2�������/�����F'P�.���n�������� ���F#PC��""�������F ���������L.�"�� ����

����������"���E���������?7� Q�/B����/�����FL. � �������)"C����������/��/�����F�?R

����������������� �*�/K)��#� ��)#�������������� �

char *strcpy(char *p1, char *p2)

����������p1�������'�)��/�����F0��/ ��p2�������/�����F ���������������

����������"���E���������?7�Q�/B����/�����FL. �C�������������/�����F�?R�B0/���?7

����&������������ �(*�/K)��#� ��)#���+����1C� D)@�)#������D���# �K)��#����������� �

char *strncpy(char *p1, char *p2, int n)

����������p1�������'�)��/�����F0��/ ��p2�������/�����F ���������������n�������� ���F#PC��""�������F ���������������

����������"���E���������?7�Q�/B����/�����FL. �C�������������/�����F�?R�B0/���?7

Page 84: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

84������������� ������������������������������������ IPST-MicroBOX

����)������������ �*���,���������� ��)#�������������� �

int strcmp(char *p1, char *p2)

����������p1�������'�)��/�����F'P�E��p2�������'�)��/�����F'P� �����

����������������F ��'�)Q�/�?7�E�F�?R�. ��"��" P�0�F���CF��"���01"�S�E����������#�����F ��'�)Q�/�?7T?R

CF��"���01"���#��E������?7U?R�CF��"���01"����#

����+������������ �(*���,���������� ��)#������� % �!#� (�C� �@�D)@�)#������D���# ��,��������������������� �

int strncmp(char *p1, char *p2 ,int n)

����������p1�������'�)��/�����F'P�E��p2�������'�)��/�����F'P� �����n�������� ���F#PC��""�������F ���������L.�"�� �0��/# �/#

����������������F ��'�)Q�/�?7�E�F�?R� . ��"��" P�0�F������.��#�(���E��CF��"���01"�S�E����������#

�����F ��'�)Q�/�?7T?R�CF��"���01"���#��E������?7U?R�CF��"���01"����#

����,������������ � �(D�@C���K@ %� @���� ��)#�������������� �

int strlen(char *p1)

����������p1������'�)��/�����F ��"�� ���C��#

����������"����� /������/�����F

Page 85: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��85

����������� . '0���A�#�0)��������C1��"2- ������ ����E�,B�#�12%����A�#�0)������0�$,�����%"��",$��D2 �J�$��� �

�2@��� (�)�K� �@Z� �KZHD[ �D��

����������������� !'$,��� ��)#���]$��#�Ec,�,B����C� �@��DG%0�H� �M������������ �

int atoi(const char *s)

����������s�������/�����F ���������E0��B001"��C��""�G

����������C��""�G '"��� ,(3� ��B��C�����E0��

����������������� ! $,��� ��)#���]$��#�Ec,�,B����C� �@��DG%0�H� V:MT����������� �

int atol(const char *s)

����������s�������/�����F ���������E0��B001"��C��""�G

����������C��""�G '"��� $%(&� ��B��C�����E0��

����������������� !-$,��� ��)#���� ]$��#�Ec�,�,B�����[�H�%����������� �

double atof(const char *s)

����������s�������/�����F ���������E0��B001"�� :"�/

���������� :"�/ ��B��C�����E0��

Page 86: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

86������������� ������������������������������������ IPST-MicroBOX

����$������������ � !.$,��� ��)#���]$��#�Ec,�,B�����[�H�%����������� �

double strtod(const char *s,char **endptr)

����������s�������/�����F ���������E0��B001"�� :"�/ endptr�������'�)�G#���E."�����������#���01"��E0���/"�����

��������01"�� :"�/ ������E0��01"B0�/���� #H�A�CF��"����MNOO����# � ����(I?35�E�����B �� #H�A�.���E0��B �

B��CF��"E����� ������������# �/����(I?35

����������������� � ! �� (�)�$,��� ��)#���]$��#�Ec,�,B����C� �@��DG%0�H� V:MT����������� �

long strtol(const char *s,char **endptr,int base)

����������s�������/�����F ���������E0��B001"��C��"���G '"��� $%(&endptr�������'�)�G#���E."�����������#���01"��E0���/"�����base�����!�" ��CF���."�L"���E0��'�"�RV�WV�7S�.����7X�01"��"

��������01"��C��""�G '"��� $%(& ������E0��01"B0�/���� #H�A�CF��"����MNOO����# � ����(I?35�E�����B �� #H�A�.���E0��B �

B��CF��"E����� ������������# �/����(I?35

Page 87: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��87

����&������������ � !1 $,��� ��)#����]$��#�Ec�,�,B����C� �@��DG%0�H�eM��TMYU�V:MT����������� �

long strtoul(const char *s,char **endptr,int base)

����������s�������/�����F ���������E0��B001"��C��""�G '"��� $%(&endptr�������'�)�G#���E."�����������#���01"��E0���/"�����base�����!�" ��CF���."�L"���E0��'�"�RV�WV�7S�.����7X�01"��"

��������01"��C��""�G '"���J(+,&(�I� $%(&

������E0��01"B0�/���� #H�A�CF��"����MNOO����# � ����(I?35�E�����B �� #H�A�.���E0��B �B��CF��"E����� ������������# �/����(I?35

����)�����������' !�$,�����C� �@��DG%0�H� �M��,�,B�� ��)#�������������� �

char *itoa(int val, char *s, int radix)

����������val������������ ���������"��B0E0��s������F�/�.�����/"����� ��"�� ��G#�����/�����F ��B��C�����E0��radix�����!�" ��CF���."�L"���E0��'�"�RV�WV�7S�.����7X�01"��"

����������"���E����������/�����FC�����E0��

Page 88: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

88������������� ������������������������������������ IPST-MicroBOX

����+�����������1 !�$,�����C� �@��DG%0�H�eM��TMYU��M��,�,B�� ��)#�������������� �

char *utoa(unsigned int val, char *s, int radix)

����������val������������ ���������"��B0E0��s������F�/�.�����/"����� ��"�� ��G#�����/�����F ��B��C�����E0��radix�����!�" ��CF���."�L"���E0��'�"�RV�WV�7S�.���7X�01"��"

����������"���E����������/�����FC�����E0��

����,����������� !�$,�����C� �@��DG%0�H� V:MT�,�,B�� ��)#�������������� �char *ltoa(long val, char *s, int radix)

����������val������������ ���������"��B0E0��s������F�/�.�����/"����� ��"�� ��G#�����/�����F ��B��C�����E0��radix�����!�" ��CF���."�L"���E0��'�"�RV�WV�7S�.����7X�01"��"

����������"���E����������/�����FC�����E0��

�����#�����������1 !�$,�����C� �@��DG%0�H�eM��TMYU� V:MT�,�,B�� ��)#�������������� �char *ultoa(unsigned long val, char *s, int radix)

����������val������������ ���������"��B0E0��s������F�/�.�����/"����� ��"�� ��G#�����/�����F ��B��C�����E0��radix����!�" ��CF���."�L"���E0��'�"�RV�WV�7S�.����7X�01"��"

����������"���E����������/�����FC�����E0��

Page 89: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��89

�����������������. !� �-$,������[�H�%,�,B�� ��)#������",$���[-]dd.dd +�����U�K'�D)@���d ��H������������ �

char *dtostrf(double val, char width, char prec, char *s)

����������val������������ ���������"��B0E0��width�����C��"".���������� �)�. �L"���E������8�� B�����CF�/�/� 0��#L.�L�����/�9prec�����C��"".������ :"�/ L"���E0��s�����F�/�.�����/"����� ��"�� ��G#�����/�����F ��B��C�����E0��

����������"���E����������/�����FC�����E0��

�����������������. !� ��$,������[�H�%,�,B�� ��)#������",$���[-]dd.dde±dd +������U�K'��D)@���d ��H�

$���Y�K'�����d ��H�����##� �)��@��±dd��������

RYSSZSS�CF�H�E0��01"�RZY�[SY����������� �

char *dtostre(double val, char *s, unsigned char prec,unsigned char flags);

����������val����������� ���������"��B0E0��s������F�/�.�����/"����� ��"�� ��G#�����/�����F ��B��C�����E0��prec� L'��F#PC��"".������ :"�/ L"���E0��flags� L'����."��H0E##������. �/L"���E0��

������������� ��������������������������� !"

����������01"���#�CF�"'�������7�'���E "���E���������. �/��� ��01"#�"�)"�E�����01"����#�GCFL��������. �/�#���"."���� 0���

����#�$%&'������ �������������������(�)��� !"

����������01"���#�CFB ��"'�������7�'���E "���E���������. �/��� ��01"#�"�)"�E�����01"����#�GCFL��������. �/�#���"."���� 0���

����������"���E����������/�����FC�����E0��

Page 90: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

90������������� ������������������������������������ IPST-MicroBOX

�������������������(.�12%K2 D)@���02@�D)E�$D2�f�! ��g_S`h`����������� �

int rand()

����������C��""�G '"��� ,(3� ��B��C������P�

�����$��������������(.#� (�K2 D)E�D����# ��12%����A�#�0)��� 9RMU����������� �

void srand(unsigned int seed)

����������seed����."������)���"L"����P�

�������������������(.!��12%K2 D)@���02@�D)E�$D2�f�! ��_Sa�`S�bgSh�`����������� �

long random()

����������C��""�G '"��� $%(&� ��B��C������P�

�����&��������������(.!�#� (�K2 D)E�D����# ��12%����A�#�0)��� 9RMU:Q

����������� �void srandom(unsigned long seed)

����������

seed����."������)���"L"����P�

Page 91: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��91

��$�������* /�����A�#�0)��������C1��"2- ������ ����E�,B�#�12%����A�#�0)������0�D�@C����$��$,���)#���D2 �J

��$�������������'�� (1�D�@C���K2 ����)#���@2 �,B��)#����% 0H#- ����iNj�! ��ikjS�iRj�! ��iljS�ifj�! ��imj�(�'�%2����������� �

int isalnum(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�^<_�����^`_V�^4_�����^a_V�^S_�����^b_��"���01"�\S]����B �L'�

��$�������������'�� ���D�@C���K2 ����)#���@2 �,B��)#����% 0H#- ����iNj�! ��ikj�(�'��iRj�! ��ilj(�'�%2����������� �

int isalpha(int c)

����������2������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�^<_�����^`_�.����^4_�����^a_��"���01"�\S]����B �L'�

��$�������������'���*''D�@C���@2 �,B��()�$��#�E�]%�K2 D)E�$D2�f\_f�! ��f\`nc�(�'�%2����������� �

int isascii(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ����2�01"�.��E����)�E�F��"���01"�\S]����B �L'�

Page 92: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

92������������� ������������������������������������ IPST-MicroBOX

��$�$�����������'�.'"' D�@C���@2 �,B��)#����% 0H#- �����ifj�! ��imj�(�'�%2����������� �

int isdigit(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�^S_�����^b_��"���01"�\S]����B �L'�

��$�������������'�1����D�@C���@2 �,B��)#����% 0H#- ����iNj�! ��ikj�]�)#.�D)@&H%&��(o2c(�'�%2����������� �

int isupper(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�^<_�����^`_��"���01"�\S]����B �L'�

��$�&�����������'� !%��D�@C���@2 �,B��)#����% 0H#- ����iRj�! ��ilj�]�)#.�D)@&H%&���G#c(�'�%2����������� �int islower(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�^4_�����^a_��"���01"�\S]����B �L'�

Page 93: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��93

��$�)�����������'��.'"' D�@C���@2 �,B��)#����% 0H#- ����iNj�! ��ikjS�iRj�! ��ilj�(�'��ifj�! ��imj�(�'�%2�]�� � �

�(%'��#)�� ��RVMeQc����������� �

int isxdigit(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�^<_�����^`_V�^4_�����^a_�.����^S_�����^b_��"���01"�\S]����B �L'�

��$�+�����������'����*�D�@C���@2 �,B��)#����% 0H#- ����f\fm�! ��f\fp�(�'��f\_f�� ��#GK'��02��@2 ��(�'�%2����������� �int isspace(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�S�Sb�����S�Sc�.����S�RS��"���01"�\S]����B �L'�

��$�,�����������'�*( � D�@C���@2 �,B��)#����% 0H#- ����f\ff�! ��f\`q�(�'�%2����������� �int iscntrl(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�S�SS�����S�de��"���01"�\S]����B �L'�

Page 94: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

94������������� ������������������������������������ IPST-MicroBOX

��$��#�����������'���'( D�@C���@2 �,B��)#����% 0H#- ����f\_f�! ��f\`q�(�'�%2����������� �

int isprint(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F�2�01"� �'��K�/L"�S�RS�����S�de��"���01"�\S]����B �L'�

��$��������������'��1(* D�@C���@2 �,B��)#����% 0H#����K�'���(% �@��KD��(�'�%2�� ��,��#���@�� �K�'���

(% ���%H+K����]rcS��K�'���(% �K�%% �]Sc�$���K�'���(% �0 ��,�]sc����������� �

int ispunct(int c)

����������c������� H������F ��"�� ���C��#

����������"���01"�\7]� ��� ��������F01"������. �/�����"�E�F��"���01"�\S]����B �L'�

����������� .'!���A�#�0)��������C1��"2- ������ ����E�,B�#�12%����A�#�0)��$,����@����%"���1#�%�� (�)�

DHD2�#)��H�&1Dt�� D�&1D��������� �H�+%"��'��� ����%"�?2 �&���D��1#�%(�'��uNP6�]?"�&)*� � % �!����#�0�� ��A�#�0)�����C)�D���%% �(�- ������ ����������(�'�����#+�D��C #�eR9����� ��C���@#��# ��0�� �% ##@2 � ��#�Z������H�%D��&)*� +,�$#�%c

�A�#�0)���2��(� �J�A�#�0)��- ���� ��U�:���C��(�?��)&I�K�� �#)������� ��� ��UV�W���$����9�MT����� � ��2@%#)�

�� (�)��A�#�0)������2 ���C��������� ����EK'�� ��9�M�v�� ���0���# �$,��� ��)#����,B��",$��D2 �J�%�� �������+���1,)���E

Page 95: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

���������� ������������������������������������ IPST-MicroBOX ��95

�������������������'( -$,��� ��)#������",$��D2 �J����������� �int sprintf(char *s, const char *format, ...)

����������s������F�/�.�����/"����� ��"�� ��G#�����/�����F ��B��C�����E0��format����� �H0E##��/�����F ����������-��� ��.��#����#������B0"�)

���������� ��������

f2 L'���#������E����������F�7���fI L'���#�������E##�,(3�!�"��#f� L'���#�������E##�,(3�!�"��#.�f? L'���#�������E##�,(3�!�"��#.�8Q�/ ����gh��S��"��."��9fi L'���#�������E## :"�/ �H0E##f� L'���#�������E## :"�/ �H0E##f+ L'���#�����/�����F

...�������"���."��F�� "��L.��� ��"����#�.��#����#L"��"� i%5j43

��������C��""�����F ��E0��B�� �)�. �

Page 96: ˘ ˇˆ˙˝ - chiangkham.ac.th · 2 ˘ ˇˆ˙˝ ˛˚ ˜ ˚ ˚˜ IPST-MicroBOX IPST-MicoBOX C programming Reference Manual ˘ ˇˆ˙˝ ˚ ˜˛ ˚ ˚˜ !"#$%&’()*+, ˙ - ˙˝ ˛˘

96������������� ������������������������������������ IPST-MicroBOX