전체 글 474

자동차 통신 종류

자동차에 쓰이는 CAN FD 통신 종류 자동차에는 다양한 기능을 구현하기 위해 여러 종류의 CAN FD 통신이 사용됩니다. 주요 통신 종류와 특징은 다음과 같습니다. 1. Local CAN FD: 엔진, 변속기, ABS와 같은 차량 내부 통신에 사용됩니다. 높은 안정성과 짧은 지연 시간이 필요한 시스템에 적합합니다. 최대 속도는 5Mbps입니다. 데이터 길이는 최대 64바이트입니다. 2. B1-CAN FD: ADAS, 인포테인먼트와 같은 차량 내부 및 외부 통신에 사용됩니다. Local CAN FD보다 빠른 속도가 필요한 시스템에 적합합니다. 최대 속도는 10Mbps입니다. 데이터 길이는 최대 64바이트입니다. 3. R-CANFD (Remote CAN FD (Flexible Data-rate) ) : 차..

[Python] 스킬트리 - 프로그래머스 Lv2

"CBD"라는 스킬트리 skill이 주어진다. skill_trees의 스킬들은 skill 스킬트리의 순서를 무조건 따라야 하고, 선행 스킬을 무조건 진행해야 한다. "CBADF"의 경우 중간 정해지지 않은 스킬이 들어가지만, CBD 순서대로 스킬을 완료했으므로 정답이다. 하지만 "BACDE"같은 경우에는 B가 C 스킬을 배우기도 전에 먼저 배우려고 해 정답이 아니다. queue 자료구조를 활용해 스택을 구현할 것이다 (popleft 활용) tree 스킬트리를 큐로 전환하고, 맨 앞인덱스가 skill에 포함되고 존재한다면 popleft로 삭제해준다. 하지만 skill에 포함되지 않는데 맨 앞 인덱스가 아니라면 선행스킬을 배우지 않고 먼저 나타난 것이기에 정답이 아니다. 이 때 위에서 설정한 is_tree를..

[Python] 안전지대 - dfs, bfs로 풀기

출처 : 코드트리 문제 : 첫 번째 줄에는 N과 M이 공백을 사이에 두고 주어지고, 두 번째 줄부터는 N개의 줄에 걸쳐 각 행에 위치한 M개의 마을의 높이 정보가 공백을 사이에 두고 주어집니다. k이하의 집들은 모두 물에 잠긴다고 한다. 물에 잠기지 않은 덩어리(?)들을 안전지대라고 한다면, 안전지대가 최대로 될 때의 k를 구하여라. (집의 높이는 최대100, 따라서 빗물높이 k를 1부터 100까지 올리면서 구해야 한) 출력 : 1 이상의 K 중, 안전 영역의 수가 최대가 될때의 K와 그 때의 안전 영역의 수를 공백을 사이에 두고 출력합니다. 만약 안전 영역의 수가 최대가 되는 K가 여러 개라면, 그 중 가장 작은 K를 출력합니다. import sys from collections import deque..

파이썬 알면 좋은 내용!

1. 마름모 범위 체크 (↓마름모의 크기가 1일때) 1 1 1 1 1 위 격자에서 1이 있는 부분만을 마름모라고 표현한다면, (정사각형이고 한 변의 크기를 n이라고 하자) (0,0) ~ (n-1,n-1) 즉, 좌측 위부터 우측 아래까지 모든 영역에서 (a,b)가 마름모의 범위에 속하는지 구하는 방법! 중앙의 인덱스 값을 (cx, cy)라고 한다면 아래 범위 내부에 속해야 한다. |a-cx| + |b-cy| 1차원배열 tmp = [[1,2],[3,4]] result = sum(tmp, []) # tmp 내부의 리스트와 빈 리스트를 합친다는 의미로, 결국에 tmp 내부 리스트 값만 추출돼서 1차원배열로 저장됨 3. 격자에서 쓰면 좋은 스킬 (1) dx, dy 테크닉 (2) 빈 board를 만들어서 방문 체크..

STM32 개발 시, delay 함수 직접 구현해서 사용해보자 !

STM32F205RBT6 데이터시트를 참고하면 120 MHz 의 최대주파수로 동작하는 것을 확인 가능하다. 1us의 딜레이를 수행할 시 , asm("nop"); // CPU에게 아무런 작업도 하지 말라는 명령어 동작을 최대주파수만큼 실행한다 만약 여러가지 통신과 기능이 구현되어 있다면, 스코프에서 확인하면 살짝의 오차가 발생하는 것을 확인할 수도 있다! 1us 를 구현했으니, 10us->100us ->1ms 까지 함수를 만들어 사용이 가능하다. stm의 내장 딜레이 함수 사용하고 싶지 않을때, 만들면 좋다 !

F💻W/Coding 2023.12.06