분류 전체보기246 라즈베리 파이 to 아두이노 실습(2) #!/usr/bin/python #-*- coding:utf-8 -* import pyfirmata print("아두이노 연결중") ObjArduino = pyfirmata.Arduino('/dev/ttyACM0') print("아두이노 연결완료 !") ObjPwm = ObjArduino.get_pin('d:3:p') # d(digital)/a(analog) # pin number # i(input)/0(output)/p(pwm) try: while True: print("와일") duty = int(input("duty 비를 입력하시오 (최대 100):")) ObjPwm.write(duty/100.0) #duty 는 1을 넘을 수 없음 pass except: print("except") pass Obj.. 2021. 8. 13. 라즈베리파이 to 아두이노 실습 1. 아두이노랑 연결 , 연결 종료 #!/usr/bin/python #-*- coding:utf-8 -*- import pyfirmata print(" 아두이노 연결중 ......") ObjArduino = pyfirmata.Arduino('/dev/ttyACM0') print(" 아두이노 연결 완료!") ObjArduino.exit() print("아두이노 와 연결을 종료합니다.") 위 파일을 만들어서 복사하면서 코딩에 이용하자 2021. 8. 13. 튜토리얼 1 주의 먼저 들어가기 전에 윈도우 환경에서 어셈블리어를 다룰때 주의할점을 알려주겠다. windows 는 내부적으로 esi, edi, ebp, ebx 레지스터를 사용하며, 레지스터 안에 값이 변경되는 것을 고려하지 않습니다. 때문에 callback함수(내가 만든 함수)에서 위의 레지스터를 사용했다면 window 에게 제어권을 넘기기 전에 반드시 원래의 값으로 복구를 해야 됩니다. 어셈블리의 기본적인 뼈대 .386 .MODEL Flat, STDCALL .DATA ...... .DATA? ; 초기화 되지 않은 데이타 ...... .CONST ...... .CODE ..... end ; 상상 lable 관 end lavel 이 존재 해야 한다. 출처: https://crystalcube.co.kr/15?categ.. 2021. 8. 13. __cdecl vs __stdcall 1. __cdecl 스택에 쌓은 피라미터를 호출한함수에서 제거 #include int __cdecl cdeclFunction(int a, int b) { return a + b; } int main() { int varA = 1, varB = 2; cdeclFunction(1, 2); return 0; } 즉 위의 코드를 보면 main 함수에서 cdeclFuction 을 call 한후에 main 함수 내에서 esp(스택포인터) 를 관래해준다. ( cdeclFuction 사용한 스택 clear) 2. __stdcall 스택을 call 한 함수 안에서 정리를 해준다. 즉 stdcallFunction 안에서 정리를 해준다. #include int __stdcall stdcallFunction(int a, in.. 2021. 8. 13. 라즈베리 파이로 아두이노 조작하기 라즈베리 파이에 아두이노IDE 설치하기 sudo apt-get update sudo apt-get upgrade sudo apt-get install arduino 아두이노 연결 원격 접속하면 아두이노 IDE 가 설치되어 있다 아두이노 보드와 포트를 설정해준다. 위 예제를 아두이노에 올려준다. pi 디렉토리에 work 다이렉 토리 만든후에 sudo apt-get install python-serial 깔고 work 안에서 밑의 코드 실행 git clone https://github.com/tino/pyFirmata.git 실행 후 pyFirmata 가 존재하면 들어가보면 setup.py가 깔려있따. sudo python setup.py install 실행하면 끝 깐거는 삭제하자 파이썬 실행후 위의 코드를.. 2021. 8. 13. TCP/IP 4 Layer 설명 2021. 8. 13. masm32 기본 다지기 튜토듀얼 블로그 https://crystalcube.co.kr/15?category=269249 [MASM 강좌] 튜토리얼 1 : 기본 안녕하세요? 언더입니다. 요즘들어 어셈블리 강좌를 쓰면 좋을 것 같다는 생각을 많이 하였습니다. 그리고 어디서부터 어떻게 시작하면 좋을까 생각했지요. 그러던 중 매우 훌륭한 글을 웹에서 crystalcube.co.kr 1~ 7 까지 하자 http://win32assembly.online.fr/tut1.html 원문 2021. 8. 13. visual studio 에서 masm32( 어셈블러) 사용하기 masm32 다운로드 http://www.masm32.com/download.htm Download The MASM32 SDK NOTE on the version of MASM supplied in the MASM32 SDK. The versions supplied will write code that works correctly on Windows operating systems from Win95 OEM up to the current versions of Windows. As the Microsoft binaries date from the middle Win98 era, www.masm32.com 아무 링크나 눌러도 상관없음 암축 풀고 설치 처음에 설치 누르고 이 부분만 위처럼 ok 눌러주고 다 .. 2021. 8. 13. ch3 assembly language statements assembly 언어는 3가지 구문을 가진다. 1. instruction 명령어로써 이 코드는 binary code(기계어) 로써 변환된다. ex) mov eax , 158 = 05 00 00 00 9E 로 변환된다. mov eax = 05 ,00 00 00 9E = 158 2.directive directive 는 어셈블러 의 셋팅을 조절하는 방식이라 생각하면 된다. ('#', '.' 등으로 시작한다.) ex) .DATA 데이타 영역을 정의한다고 어셈블러에게 알려줌 .CODE 코드 영역을정의 한다고 알려줌 .STACK 4096 :4096 byte 를 스택으로 사용할꺼라고 어셈블러에게 알려줌 3. macro c 언어의 함수 와 같은 기능을 한다. 밑의 예시에는 메크로가 없다. 어셈블리어 예시 2021. 8. 12. 이전 1 ··· 9 10 11 12 13 14 15 ··· 28 다음