본문 바로가기

자바54

JSerialComm 라이브러리 이용하여 자바와 아두이노 시리얼 통신 하는법 프로젝트 초반에 사용하던 rxtx라이브러리는 실행할때 dll파일 경로 설정을 해줘야 하고, 8버전 보다 높은 자바를 사용하면 작동이 안되는 문제가 있다. (관련된 오류는 아래 링크를 참고 하면된다.) 따라서 JSerialComm 라이브러리로 교체해서 진행하게 되었다. 기존에 rxtx라이브러리를 사용하여 프로젝트를 진행했다면 포트와 연결하는 부분만 교체하면 다른 코드는 그대로 사용가능하다.(포트 연결부분은 다르지만 둘다 inpustream과 outputstream을 사용하기 때문) https://seaotter.tistory.com/68 인텔리제이 자바 아두이노 rxtx 오류 Execution failed for task ':Main.main()'.> Process 'command 'C:/Program F.. 2023. 6. 29.
스프링부트 멀티스레드(ThreadPoolExecutor)/ 자바와 아두이노 여러대 시리얼 통신 보호되어 있는 글 입니다. 2023. 6. 29.
시리얼 통신의 문제점과 해결법 (아두이노 자바 통신 글자 나눠서 수신됨) 시리얼 통신의 문제점 1. 데이터가 나뉘어 수신 될 수 있다. 아두이노에서 시리얼 모니터로 확인 할때는 1234 처럼 여러자리 숫자를 송신하면 한번에 수신 된다. 하지만 진짜 시리얼 통신을 하다보면 수신이 12 34 1 234 이런 식으로 나눠서 오는 경우가 있다. 사실 이거는 시리얼 통신의 고질적인 문제인데 시리얼 통신은 데이터를 한번에 쐈다고 그 데이터 전부를 무조건 한번에 다 받아오는 것이 아니다. 한번에 받아올 수도 있고 여러번에 나눠서 받아올 수도 있다. 2. 글자가 깨져서 수신 될 수 있다. 내가 보낸 문자가 깨져서 수신될 수 있기 때문에 LRC,CRC를 통해 오류를 검출 해야 한다. 시리얼 통신을 하면서 주의해야 할 점 위에서 말했듯 시리얼 통신은 수신된 데이터에 문제가 있을 수 있다. 따라.. 2023. 6. 29.
[이진탐색] 백준 나무자르기 자바 Java 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 하자. 상근이가 높이를 15로 지정했다면, 나무를 자른 뒤의 높이는 15, 15.. 2023. 5. 16.
[정렬] 프로그래머스 가장 큰 수 level2 자바 Java 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 코드 import java.util.*; class .. 2023. 5. 16.
[그리디] 프로그래머스 조이스틱 level2 Java https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 .. 2023. 5. 9.