흐음.. 되어있는걸로 하는게 더 편하려나?
'embeded > arduino(genuino)' 카테고리의 다른 글
| 오랫만에 부품지름 (0) | 2025.07.29 |
|---|---|
| 1.8인치 TFT LCD with SDcard (0) | 2024.10.18 |
| arducam esp8266 https post 예제 (0) | 2024.01.31 |
| 433MHz RF 통신 (0) | 2023.12.07 |
| 아두이노 dht11 (0) | 2022.11.14 |
흐음.. 되어있는걸로 하는게 더 편하려나?
| 오랫만에 부품지름 (0) | 2025.07.29 |
|---|---|
| 1.8인치 TFT LCD with SDcard (0) | 2024.10.18 |
| arducam esp8266 https post 예제 (0) | 2024.01.31 |
| 433MHz RF 통신 (0) | 2023.12.07 |
| 아두이노 dht11 (0) | 2022.11.14 |
modbus poll 에서 뜬금없이 crc error로 띄워서 헤맸는데
03이나 04 명령어 처럼 multiple byte의 경우에는 아래의 형태로 구성되는데
station_id / cmd / length / data(word) / crc
01의 경우는 아래의 형태로 고정된다.
station_id / cmd / length / data(byte) / crc
그러다 보니 modbud poll 에서도 고정된 length에서 하드코딩될수 밖에 없고
0x01 0x01 0x02 0x00 0x00 L_CRC M_CRC 로 응답하면
CRC 부분을 보고 읽는게 아니라
0x00 L_CRC 두개를 CRC로 해석하니 mismatch로 잘못 에러를 출력한다.
어우.. 별거 아닌데 하루를 날리게 하다니..
| stm32f7 dual bank flash (0) | 2026.02.03 |
|---|---|
| stm32f746g-disco with semtech sx1276 and lvgl (0) | 2026.02.03 |
| stm32 __weak (0) | 2024.10.08 |
| stm32 modbus (0) | 2024.09.26 |
| SPI NSS, NSSP mode (0) | 2024.09.11 |
인터럽트 핸들러의 경우 __WEAK가 앞에 붙어있는데
c 언어라면 동일한 함수명은 사용이 불가능한게 상식인데
새로 정의하면 새로 정의된 함수가 사용되고 기존에 정의된 함수는 사용되지 않는 신기한 녀석이다
그래서 이 기회에서 찾아보는 중
cmsis_armcc.h 에서 아래와 같이 정의되어 있다.
| #ifndef __WEAK #define __WEAK __attribute__((weak)) #endif |
링크 시간에 strong symbol은 weak symbol을 override 한다. 라고 되어있는데
컴파일러가 아니라 링커가 연결해주는거라니 신기하다.
| __attribute__((weak)) variable attribute Generates a weak symbol for a variable, rather than the default symbol. Syntax __attribute__((weak)) <type> <variable>; Parameters None. Operation At link time, strong symbols override weak symbols. This attribute replaces a weak symbol with a strong symbol, by choosing a particular combination of object files to link. Example __attribute__((weak)) int foo; |
[링크 : https://blog.naver.com/22wowow22/220825653093]
[링크 : https://gangsanilee.tistory.com/2874]
[링크 : https://tigershin-shinhyeonkyu.tistory.com/8]
[링크 : https://engineering-agit.tistory.com/25]
| stm32f746g-disco with semtech sx1276 and lvgl (0) | 2026.02.03 |
|---|---|
| modbus rtu coil read (0) | 2024.10.10 |
| stm32 modbus (0) | 2024.09.26 |
| SPI NSS, NSSP mode (0) | 2024.09.11 |
| FDE CIE (0) | 2024.09.06 |
xac가 먼가 했더니 xbox 컨트롤러의 약자인듯.
아무튼 라즈베리 파이 pico 에는 adc가 있으니까 아날로그 입력도 가능할 것 같고
나쁘지 않게 만들수 있을 듯?
| USB joystick compatible with Xbox Adaptive Controller using Raspberry Pi Pico |
| rpi pico circuit python 에서 code 실행하기 (0) | 2025.08.02 |
|---|---|
| rpi pico sdk (0) | 2025.03.23 |
| rpi pico ADC 범위 (0) | 2024.07.16 |
| rpi pico / micropython (0) | 2024.07.15 |
| rpi pico usb sound (0) | 2021.11.08 |
은근 없네 -_-
FreeRTOS + STM32 HAL
[링크 : https://github.com/alejoseb/Modbus-STM32-HAL-FreeRTOS]
FreeRTOS + STM32 HAL
[링크 : https://github.com/eziya/STM32_HAL_FREEMODBUS_RTU]
[링크 : https://blog.naver.com/eziya76/220970378890]
stm32f[134] - MIT
[링크 : https://github.com/urands/stModbus]
gplv3 / misra check
[링크 : https://github.com/feaser/microtbx-modbus]
[링크 : https://www.feaser.com/en/blog/2023/04/stm32-modbus-rtu-server-tutorial/]
license 정보 미확인
[링크 : http://comfilewiki.co.kr/en/doku.php?id=comfilehmi:simplemodbus:simplemodbus_source:index]
[링크 : https://m.blog.naver.com/comfae/221664790332
simplemodbus(?)
[링크 : https://github.com/charlesbaynham/simple-modbus]
[링크 : https://community.st.com/t5/stm32-mcus-products/modbus-rtu-on-stm32l031g4/td-p/198871]
[링크 : https://github.com/debevv/nanoMODBUS] MIT
[링크 : https://github.com/nimaltd/master-modbus] GPLv3
[링크 : https://community.st.com/t5/stm32-mcus-products/how-to-implement-modbus-master-on-stm32/td-p/120964]
| modbus rtu coil read (0) | 2024.10.10 |
|---|---|
| stm32 __weak (0) | 2024.10.08 |
| SPI NSS, NSSP mode (0) | 2024.09.11 |
| FDE CIE (0) | 2024.09.06 |
| code alignement factor? (0) | 2024.09.06 |
키보드 달려있으면 f5 누르면 되긴한데 uinput 으로 포커스 잡게 하고 누르는게 나으려나?
lxde 라서 Xorg가 보이긴 한데.. 왜 안될까 ㅠㅠ
| WID=$(xdotool search --onlyvisible --class chromium|head -1) xdotool windowactivate ${WID} xdotool key ctrl+F5 |
[링크 : https://forums.raspberrypi.com/viewtopic.php?t=52613]
이걸 해주고 해도 동일한 에러가 발생한다.
| $ xauth list $DISPLAY This prints the cookie, something like this: pi:10 mit-magic-cookie-1 4d22408aga55sad1ccd165723g77923ae Then switch the superuser with su and set the cookie: # xauth add pi:10 mit-magic-cookie-1 4d22408aga55sad1ccd165723g77923ae |
이걸 써봐야 하나..
| gksu - GTK+ frontend for su and sudo |
[링크 : https://linux.die.net/man/1/gksudo]
[링크 : https://discourse.ubuntu-kr.org/t/sudo-gksudo/23916]
+
라즈베리에서 하니(xfce) 안된다. 도대체 머가 문제일까..
| $ xdotool search chromium Defaulting to search window name, class, and classname 10485760 $ xdotool windowactivate 10475760 X Error of failed request: BadWindow (invalid Window parameter) Major opcode of failed request: 20 (X_GetProperty) Resource id in failed request: 0x9fd8f0 Serial number of failed request: 26 Current serial number in output stream: 26 $ xdotool windowactivate 10485760 XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1) $ xdotool key ctrl+F5 |
두개 명령을 한번에 할 수도 있는 듯. 일단 에러는 발생하지 않네..?
| Try: wid=`xdotool search "FILENAME"` xdotool windowactivate $wid in: xdotool search "FILENAME" windowactivate --sync |
[링크 : https://stackoverflow.com/questions/36921889/check-for-duplicate-application-in-linux-bat]
| xdotool mousemove --screen 2 --polar 0 0 |
[링크 : https://github.com/jordansissel/xdotool/issues/67]
별별 희한한 작동이 가능하네?
| $ xdotool --help Available commands: getactivewindow getwindowfocus getwindowname getwindowpid getwindowgeometry getdisplaygeometry search selectwindow help version behave behave_screen_edge click getmouselocation key keydown keyup mousedown mousemove mousemove_relative mouseup set_window type windowactivate windowfocus windowkill windowclose windowmap windowminimize windowmove windowraise windowreparent windowsize windowunmap set_num_desktops get_num_desktops set_desktop get_desktop set_desktop_for_window get_desktop_for_window get_desktop_viewport set_desktop_viewport exec sleep |
| 라즈베리 파이 pwm 출력 (0) | 2024.12.31 |
|---|---|
| node-red (0) | 2024.11.21 |
| 라즈베리 파이 gui 재시작(lxde) (0) | 2024.09.19 |
| 라즈베리 파이 gui 자동실행 (0) | 2024.09.19 |
| 라즈베리 파이에 파이썬 스크립트를 서비스로 등록하기 (0) | 2024.08.27 |
구글 뒤져봐도 어떤 서비스 명인지 나오질 않아서 찾아보니
| /etc/systemd/system $ ls -al total 76 drwxr-xr-x 18 root root 4096 Sep 19 11:26 . drwxr-xr-x 5 root root 4096 Sep 13 12:08 .. drwxr-xr-x 2 root root 4096 Jul 4 09:06 bluetooth.target.wants lrwxrwxrwx 1 root root 42 Jul 4 09:06 dbus-fi.w1.wpa_supplicant1.service -> /lib/systemd/system/wpa_supplicant.service lrwxrwxrwx 1 root root 37 Jul 4 09:06 dbus-org.bluez.service -> /lib/systemd/system/bluetooth.service lrwxrwxrwx 1 root root 40 Jul 4 09:06 dbus-org.freedesktop.Avahi.service -> /lib/systemd/system/avahi-daemon.service lrwxrwxrwx 1 root root 40 Jul 4 09:06 dbus-org.freedesktop.ModemManager1.service -> /lib/systemd/system/ModemManager.service lrwxrwxrwx 1 root root 53 Jul 4 09:06 dbus-org.freedesktop.nm-dispatcher.service -> /lib/systemd/system/NetworkManager-dispatcher.service lrwxrwxrwx 1 root root 45 Jul 4 09:05 dbus-org.freedesktop.timesync1.service -> /lib/systemd/system/systemd-timesyncd.service lrwxrwxrwx 1 root root 36 Jul 4 09:09 default.target -> /lib/systemd/system/graphical.target drwxr-xr-x 2 root root 4096 Jul 4 09:06 dev-serial1.device.wants lrwxrwxrwx 1 root root 35 Jul 4 09:07 display-manager.service -> /lib/systemd/system/lightdm.service drwxr-xr-x 2 root root 4096 Sep 13 12:19 getty.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:09 getty@tty1.service.d drwxr-xr-x 2 root root 4096 Jul 4 09:09 graphical.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:06 halt.target.wants drwxr-xr-x 2 root root 4096 Sep 19 12:39 multi-user.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:06 network-online.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:06 poweroff.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:09 printer.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:06 reboot.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:06 remote-fs.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:09 sockets.target.wants lrwxrwxrwx 1 root root 31 Sep 13 12:21 sshd.service -> /lib/systemd/system/ssh.service drwxr-xr-x 2 root root 4096 Jul 4 09:06 sysinit.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:06 timers.target.wants drwxr-xr-x 2 root root 4096 Jul 4 09:09 wayvnc.service.wants |
별 희한한 이름으로 튀어나온다. llightdm 이런건 어디로 간겨.. -_-
| $ systemctl status display-manager ● lightdm.service - Light Display Manager Loaded: loaded (/lib/systemd/system/lightdm.service; enabled; preset: enabled) Active: active (running) since Thu 2024-09-19 15:56:27 KST; 3min 27s ago Docs: man:lightdm(1) Main PID: 664 (lightdm) Tasks: 5 (limit: 755) CPU: 2min 7.209s CGroup: /system.slice/lightdm.service ├─664 /usr/sbin/lightdm └─806 /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch Sep 19 15:56:24 raspberrypi systemd[1]: Starting lightdm.service - Light Display Manager... Sep 19 15:56:27 raspberrypi systemd[1]: Started lightdm.service - Light Display Manager. Sep 19 15:56:32 raspberrypi lightdm[860]: crtc 0: disable Sep 19 15:56:32 raspberrypi lightdm[860]: screen 0: 1080x1920 285x506 mm 96.25dpi Sep 19 15:56:32 raspberrypi lightdm[860]: crtc 0: 1920x1080 60.00 +0+0 "HDMI-1" Sep 19 15:56:33 raspberrypi lightdm[876]: pam_unix(lightdm-autologin:session): session opened for user falinux(uid=1000) by (uid=0) Sep 19 15:56:33 raspberrypi lightdm[876]: Failed to write utmpx: No such file or directory |
| node-red (0) | 2024.11.21 |
|---|---|
| cli 에서 chrome refresh 하기 (0) | 2024.09.24 |
| 라즈베리 파이 gui 자동실행 (0) | 2024.09.19 |
| 라즈베리 파이에 파이썬 스크립트를 서비스로 등록하기 (0) | 2024.08.27 |
| pgadmin4 를 rpi에 설치하기 성공 (0) | 2024.07.29 |
lxde가 기본이었나..
아무튼 이렇게 하면 HDMI 연결해서 켜면 자동으로 크롬이 전체화면으로 실행된다.
다만, kiosk 모드이기 때문에 f11 누른다고 해서 원복되지 않음
| $ sudo vi /etc/xdg/lxsession/LXDE-pi/autostart chromium-browser --start-maximized --kiosk http://www.naver.com |
[링크 : https://jung-max.github.io/2021/04/28/라즈베리파이-크로미엄%20키오스크%20모드%20및%20부팅시%20자동%20실행/]
| cli 에서 chrome refresh 하기 (0) | 2024.09.24 |
|---|---|
| 라즈베리 파이 gui 재시작(lxde) (0) | 2024.09.19 |
| 라즈베리 파이에 파이썬 스크립트를 서비스로 등록하기 (0) | 2024.08.27 |
| pgadmin4 를 rpi에 설치하기 성공 (0) | 2024.07.29 |
| pgadmin3 안되잖아?! (0) | 2024.07.26 |
esp-12f 라는 보드는 esp8266을 탑재하고 있는데
[링크 : https://www.devicemart.co.kr/goods/view?no=1378117] 2500원
특이하게도 ESP8089 드라이버를 올려서 wifi로 잡아버린다.
esp8266은 esp8089에 포함된 wifi를 쓰는건가?
[링크 : https://eleparts.co.kr/EPXKDNPB]
[링크 : https://hackaday.io/project/9300-esp-12f-raspberry-pi-gpio-sdio-wifi]
| esp8266mod / esp-12f d1 (0) | 2025.01.06 |
|---|---|
| esp8266 wifi at 명령어 (0) | 2023.12.12 |
| esp8266 nodemcu v3 기본 펌웨어 (0) | 2023.12.11 |
| esp8266 esptool.py (0) | 2023.12.11 |
| esp8266 microUSB 연결 2 (0) | 2023.12.11 |
가지고 있는게 esp32cam 이라 찾아보는데..
SDIO 관련은 어째... 겁나 잘 뽑아져 있는데

EN/RESET이 없다?

[링크 : https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/]
다행인지 불행인지 뒷면에 리셋 버튼이 있긴한데 워낙 작아서 따로 핀을 떼어내는 건 쉽지 않을 지도..
(우측 하단 스위치 부분)

[링크 : https://www.bitfoic.com/components/esp32-cam-pinout-explanation-and-how-to-use?id=205]
wroom의 경우 왼쪽 2번째에 RESTART, EN이 딱!
눈 딱감고 wroom 보드를 사는게 속 편하려나?

[링크 : https://www.upesy.com/blogs/tutorials/esp32-pinout-reference-gpio-pins-ultimate-guide]
| esp32 계열 정리 (0) | 2025.07.08 |
|---|---|
| esp32devkitc v4 (0) | 2025.01.06 |
| esp32 wifi/bt on linux (0) | 2024.08.13 |
| esp32 at 소스 빌드(윈도우) (0) | 2023.12.19 |
| esp32 at source 빌드(리눅스) (0) | 2023.12.19 |