디지털회로의 물리적 접점 (스위치)에서 발생하는 바운싱은 별도의 회로가 없어도, 시간지연을 통해 무시하여 우회할 수 있다.디지털 회로에서 스위치 입력을 사용할 때 항상 골치 아프게 하는 것 중 하나는 바로 바운스(bounce) 또는 채터링 (chattering) 이라고 불리우는 접점단속(接點斷屬)현상.기본적으로 스위치는 떨어진 두 지점을 물리적인 방법을 이용하여 하나로 붙여 주는 역할을 한다. 여기서 '물리적'이란 게 중요한데, 사람은 스위치를 한번 꾸~~욱 하고 누른것 같으나, 실제로는 스위치가 눌려서 두 접점이 붙는 그 찰나의 순간에, 물리적(기계적)인 반동으로 인해 튕겨 나왔다 다시 붙는 현상이 발생한다.이 현상을 없에는 가장 좋은 방법은. 비싸고 좋은 스위치를 사는것! 비싸고 좋은 스위치는 싸구려..
Real discharge test of Xingwei PALO 星威 1.5V 3400mWh AA / 900mWh AAA Li-ion batteryTraditional Nickel batteryOne of the main weaknesses of traditional Nickel rechargeable batteries is their voltage. General dry cell batteries provide a nominal voltage of 1.5V, which has become the standard for electronic products. However, the nominal voltage of Nickel-based rechargeable battery cells is 1.2V.A 0..
WINDOWS EVENT ID 4625 가 발생하는 원인과, 윈도우 계정 자동 잠김 설정을 해제하는 방법EVENT ID 4625이벤트 로그에 보면 가끔 이런 이벤트를 볼 수 있다.Security-Auditing: 4625: AUDIT_FAILURE 계정을 로그온하지 못했습니다. 주체: 보안 ID: S-1-0-0 계정 이름: - 계정 도메인: - 로그온 ID: 0x0 로그온 유형: 3 로그온을 실패한 계정: 보안 ID: S-1-0-0 계정 이름: ------ 계정 도메인: - 오류 정보: 오류 이유: 알 수 없는 사용자 이름 또는 잘못된 암호를 사용했습니다. 상태: 0xC000006D 하위 상태: 0xC000006A 프로세스 정보: 호출자 프로세스 ID: 0x0 호출자 프로세스 이름: - 네트워크 정보: ..
테이블 참조, 기본제공 함수, 직접만든 함수의 CRC-16 계산 속도를 비교해 본다.CRC 삽질 어언 한달.. ㅜㅜ직접 만든 CRC-16 계산기와Microchip 에서 제공하는 CRC-16 계산 라이브러리그리고 전통적인 방법의 테이블 기반 CRC-16 계산방법의 계산 결과 차이를 알아보기 위해 16MHz ATMETA 2560에서 CRC 연산을 수행해 보았다.직접 만든 CRC-16 계산기uint16_t CRC16_Compute(uint8_t *datastream, uint16_t numberofbyte, uint16_t poly, uint16_t initval){ for (uint16_t i=0; i0; j--) { if (initval & 0x8000) { initval = initval ..
삽질해 가면서 일단 만들어 본 CRC5, CRC7, CRC8, CRC10, CRC16, CRC32 계산 함수. 바이트 확장과 테이블 참조는 아직 좀 더 머리를 싸 매야 할 것들...//////////////////////////////////////////// SAPJIL CRC Calcurator// by eqmaker//////////////////////////////////////////#include unsigned char CRC8_Generator(unsigned char *datastream, unsigned int numberofbyte, unsigned char poly){ unsigned char rtn=0x00; for (unsigned int i=0; i=0; j--) { i..
ATMEGA에서 변수의 값을 사용해야 할 때, 개별 변수로 사용하는 것과 비트 단위로 사용할 때 걸리는 시간과, 컴파일러 최적화 옵션에 따른 용량/실행 시간 차이를 살펴 보았다 AVR과 같이 메모리가 넉넉하지만은 않은 MCU를 사용하기 위해, 변수의 비트단위까지 짜내는 일이 종종 발생 한다. 물론, 메모리가 넉넉하다면야 필요할 때 마다 독립된 변수를 선언해서 사용하는 것이 코드를 작성하기에도 편하겠지만, 그렇게 마구 남발하다 보면 메모리 제한에 걸려 필요한 변수를 선언할 수 없는 상황에 마주치게 되기도 한다. 메모리 걱정 하지 않고 변수를 펑펑 선언해 가며 사용하는 것과, BIT단위로 쪼개서 메모리를 아껴가며 사용하는 것. 과연 실제 동작에는 어떤 차이가 있을까?8개의 1bit 데이터를 사용해야 한다..