임베디드

임베디드

  • 분류 전체보기 (1142)
    • PL (150)
      • C++ (108)
      • Python (39)
      • Java (3)
      • Kotlin (0)
    • 알고리즘 (462)
      • 암기 (91)
      • 백준 (328)
      • 삼성 (17)
      • 종만북 (4)
      • 프로그래머스 (22)
    • 임베디드 (411)
      • 하드웨어지식 (12)
      • ATmega128 (98)
      • 32F429IDISCOVERY (57)
      • 임베디드리눅스 (15)
      • 리눅스커널스터디16기 (2)
      • 리눅스시스템프로그래밍 (97)
      • 운영체제 (26)
      • 컴퓨터구조 (4)
      • dd (1)
      • ubuntu (81)
      • opencv (18)
    • 드론 (99)
    • TIP (12)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

임베디드

컨텐츠 검색

태그

#linuxbirthday_a_message_from_Seoul_Korea !!

최근글

댓글

공지사항

아카이브

PL(150)

  • Atom에서 파이썬 인터프리터 실행하기 - 2

    2019.08.16
  • Atom에서 파이썬 인터프리터 실행하기

    2019.08.15
  • [boost.Asio tutorial] Using a member function as a handler

    2019.08.14
  • [boost.Asio tutorial] Binding arguments to a handler

    2019.08.14
  • [boost.Asio tutorial] Using a timer asynchronously

    2019.08.13
  • [boost.Asio tutorial] Using a timer synchronously

    2019.08.13
Atom에서 파이썬 인터프리터 실행하기 - 2

이전 포스팅인 https://noel-embedded.tistory.com/848 (Atom에서 파이썬 인터프리터 실행하기)의 치명적인 단점은 출력에는 문제가 없지만 input 입력을 받지 못한다는 점이었다. 따라서 다른 패키지를 찾아봤는데, 바로 터미널로 연결해주는 패키지인 atom-python-run을 찾을 수 있었다 해당 패키지를 다운받으면 되고, 사용법은 코드 작성을 완료한 후 F5 혹은 F6을 누르면 된다 [참고] https://www.youtube.com/watch?v=oSnrLNuwVYU

2019. 8. 16. 00:03
Atom에서 파이썬 인터프리터 실행하기

먼저 사전에 파이썬, 미니콘다, 아나콘다 셋 중 하나가 설치되있어야 한다. Atom을 열고, File - Settings에 들어간다 그리고 사전에 자동완성 package인 autocomplete-python을 설치한다 install 탭을 누른 후, script를 검색해서 rgbkrk분이 올린 파일을 다운받는다 README 파일을 살펴보면 실행 단축키를 확인할 수 있다 간단한 프로그램을 작성한 후 Ctrl + Shift + b를 입력하면 실행되는 것을 확인할 수 있다

2019. 8. 15. 23:32
[boost.Asio tutorial] Using a member function as a handler

이번 튜토리얼에서는 클래스 멤버 함수를 callback handler로 사용하는 방법에 대해서 알아볼 것이다. 중요하게 볼 점은 print 함수를 호출할 때는 공통적인 매개변수가 없기 때문에 void print(const boost::system::error_code&, boost::asio::deadline_timer *t, int *count) 다음과 같이 타이머와 카운터 변수를 전달해야 했지만, 이제는 클래스 안의 멤버 변수에 포함되어 있으므로 그럴 필요가 없다. 그리고 클래스 멤버 함수는 non-static 함수인 free function으로 분류해서 boost::asio::placeholders::error는 포함하지 않는다고 나와있다. 따라서 따로 error object를 파라미터로 포함하지 ..

2019. 8. 14. 21:38
[boost.Asio tutorial] Binding arguments to a handler

이번 튜토리얼에서는 Using a timer asynchronousl 예제를 수정해서, 핸들러 함수에 추가적인 파라미터를 넣어줘서 1초에 한 번씩 수행하는 연속적인 프로그램을 만드려고 한다. 반복적인 타이머를 구현하기 위해서 콜백 함수에 타이머 재설정이 필요하다. 타이머 조작을 위해서는 타이머 객체가 필요한데 이를 매개변수로 전달하려고 한다 count가 5에 도달했어도 타이머가 종료되는 코드가 없지만, io.run에 의해서 비동기 타이머가 없다면 io_service가 종료되게 된다. 그리고 bind 함수를 눈에 띄게 봐야하는데, 아직까진 정확한 용도는 파악되지 않았지만 함수와 매개변수를 묶어서 전달할 때 쓰이는 것으로 보인다. bind(함수명, 매개변수1, 매개변수2, 매개변수3) #include #in..

2019. 8. 14. 00:11
[boost.Asio tutorial] Using a timer asynchronously

이전 튜토리얼을 수정해서 비동기 callback 함수 기능을 하는 프로그램을 작성하려고 한다. 콜백 함수란 비동기 operation을 완료한 후 수행된다. 비동기 wait 함수는 deadline_timer::async_wait() 함수를 사용한다. 인자로는 콜백 함수의 주소값을 넘겨준다. 그리고 가장 중요한 것이 반드시 io_service::run() 함수를 실행시켜 콜백 함수 동작을 보장받게 한다. 만일 호출되지 않는다면 비동기 wait가 완료된 이후 호출되지 않는다. io_service::run() 함수는 비동기 wait가 완료되기 전까지 지속된다 #include #include #include using namespace std; void print(const boost::system::error_..

2019. 8. 13. 13:16
[boost.Asio tutorial] Using a timer synchronously

boost.Asio의 기본적인 기능을 하기 위해서 반드시 헤더파일이 필요하고, 현재 튜토리얼에서는 시간을 다루기 때문에 헤더파일 또한 추가한다. 모든 프로그램은 적어도 하나의 boost::asio::io_service 객체를 사용하게 된다 5초 동안 blocking하는 예제를 동작시킬 것인데, deadline_timer::wait 멤버함수를 사용한다. 첫번째 인자로는 io_service 객체가 들어가고, 두 번째 인자로는 시간이 들어가게 된다 #include #include #include using namespace std; int main(void) { boost::asio::io_context io; boost::asio::deadline_timer t(io, boost::posix_time::se..

2019. 8. 13. 12:14
1 ··· 11 12 13 14 15 16 17 ··· 25
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바