블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

'sleep'에 해당되는 글 2건

  1. 2017.06.12 Sleep
  2. 2016.09.09 Cortex-M3 Sleep mode,Stop mode,Standby mode

Sleep

자바스크립트 / 2017. 6. 12. 23:00

자바스크립트에서는 Sleep()함수가 없다. 강제로 Sleep함수를 만들어 사용할 경우, 웹페이지는 다른 작업을 하지 못하고, Sleep함수내의 무한루프를 돌게되며, 화면에서는 웹페이지 응답없음 상태가 된다. 마우스 클릭하면, 동그라미만 계속 돌아간다. 물론, 짧은 시간동안 정지시키기위한 Sleep함수는 만들어 사용해도 된다. 그러나, 이미지 로딩중에 Sleep호출하면, 이미지 로딩도 같이 멈춘다. 자바스크립트 자체적으로 Sleep, wait 기능을 지원해주면, 순차프로그램이 가능한데, 참 어렵다... 자바스크립트는 1개의 쓰레드(프로세스)만을 사용하며, 이벤트 방식이다. 이미 로딩등의 함수 호출시, 콜백함수라고 부르는 함수이름을 넣어주어야한다. Sleep함수, wait등의 기능이 있다면, 순차적으로 프로그램을 작성할 수 있으나, 자바스크립트에는 이런 기능이 없어, 프로그램작성할때 문제가 된다. Sleep, Wait기능이 없어서 문제가 되는것은, 다음줄의 자바스크립트 코드가 실행된다는 점이다. 이미지를 로딩하고, 이미지 사이즈를 구해서, ....하려고 했는데, 이미지가 로드되기전에, 다름 자바스크립트가 실행된다. 보기에는 간단한 문제인데, 이 문제를 해결하기위한 방법들은 실로 눈물겹다. 왜 순차실행을 지원하지 않는지....(물론 웹페이지라는 특성도 있지만) 단순하게 Sleep(),Wait()함수 2가지만 지원해주면, 쉽게 프로그램작성이 가능한데 말이다... 해결 방법은 2가지이다. 안1) 콜백함수를 적극 활용하여 "잘" 작성한다. 물론 쉽지 않다. 프로그램작성도 어렵다. 안2) 상태머신으로 구현 더 어렵다. 모든 작업의 상태를 모두 구현해야한다. 콜백함수를 사용하는 방식은 CPU를 놀리지 않고, 최적의 성능을 발휘한다. 이벤트가 발생할때까지 무한대기. 물론, 함수 호출시 넣어주었던 값들은 콜백함수가 호출되기전까지 보존된다. 상태머신으로 구현할 경우, 각 상태를 switch문으로 비교하기때문에, 상태의 개수가 많아지면, 약간 비효율적이 된다. 또한, 디버깅이 어렵다. 기타 안3) 순차호출을 지원하는 스크립트언어 사용 자바스크립트로, C언어 소스코드를 순차적으로 실행할 수 있는 언어를 작성하여, 그 언어로 프로그래밍한다. C언어를 실행할 수 있는 자바스크립트 코드를 만들면 된다.(물론 어렵다. 그리고 너무 느리다.) 결론 : 자바스크립트에서는 Sleep, wait사용불가 콜백을 잘 이용하던가, 상태머신 방식으로 자바스크립트 작성.


Posted by 안녕1999
, |

Cortex-M3 Sleep mode,Stop mode,Standby mode


Sleep mode

======================

- 주변장치는 동작함

- __WFI() 또는 __WFE() 명령으로 진입가능

- 인터럽트 발생시, 깨어남


Stop mode

======================

- 모든 클럭 정지. 레귤레이터는 low power mode로 작동

- SRAM의 데이터는 보존됨

- PWR_EnterSTOPMode(PWR_Regulator_LowPower)명령으로 진입

- EXTI 인터럽트/이벤트로 깨어남


- Standby mode

======================

- 최소 전력소비

- 1.2V 도메인 off

- SRAM 데이터 보존 안됨(사라짐)

- RTC만 동작

- PWR_EnterSTANDBYMode()로 진입

- WKUP pin rising edge, RTC alarm (Alarm A and Alarm B), RTC wakeup,

        tamper event, time-stamp event, external reset in NRST pin, IWDG reset.



일반적으로는 주변장치와 통신을 해야하기 때문에, Sleep mode를 사용하는것이 무난함.

Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함