초보의 아웅다웅 설계하기 336

OLED QG-2864KSWLG01 내부 펌프 초기 코드

OLED QG-2864KSWLG01를 구해서 프로그램을 넣었습니다.웹에 도는 소스코드와 데이터시트로 구현을 하여도 동작을 하지 않았습니다.명령어를 넣을 때 데이터 시트와 웹에서는 0x80을 실제로는 0x00을 넣어야했습니다.그리고 ACK 자리에도 데이터 시트와 웹에서는 1을 실제로는 0을 넣어야 했습니다.아래 샘플코드입니다.I2C가 패리패럴로 구현되지 않고 IO로 구현되어있습니다.RES는 회로상에서 NPN TR로 ON/OFF 해서 High와 Low가 역으로 되어있습니다. #define OLED_ADDRESS 0x78 #define I2C_PORTGPIOB#define I2C_SCLGPIO_Pin_6 #define I2C_SDAGPIO_Pin_7 #define LCDRSTPORTGPIOE#define LC..

Uart 데이터 Byte 입력상의 입력 사이즈 초기화

C#에서 입력 Uart 처리 입력 사이즈를 확인하였던 intRecSize를 초기화해 주지 않으니 0x00의 비어있는 값이 버퍼에 쌓이는 경우가 있었습니다. private void ComPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { if (rbAscii.Checked == true) { InputData = ComPort.ReadExisting(); if (InputData != String.Empty) { this.BeginInvoke(new SetTextCallback(SetText), new object[] { InputData }); } } else { /* 입력된 데이터 량 */ int intRecSize = ComPort.B..

Partial Erase Done (areas with no algorithms skipped!) 에러 발생

Keil 컴파일러를 사용하여 다운로드할 때 발생하는 에러 처리 방법 다운로드할 칩의 메모리 사이즈가 맞지 않을 경우 발생 Load "STM32F401xx\\STM32F401xx.axf" No Algorithm found for: 0806E000H - 0806FFFFHNo Algorithm found for: 08070000H - 0807FFF3HPartial Erase Done (areas with no algorithms skipped!)No Algorithm found for: 0806E000H - 0806FFFFHNo Algorithm found for: 08070000H - 0807FFF3HPartial Programming Done (areas with no algorithms skipped!)..

Tamper 사용

내부 백업레지스터의 정보를 제거하는 용도로 사용하는 TAMPER 패리패럴을 설정하고 사용하는 방법입니다.주요 정보를 저장해두고 유사시에 제거하는 용도로 사용하도록 설정하여 사용하면 될 것 같습니다.TAMPER 핀은 PULL-DOWN해두고 유사시에 TAMPER 핀에 HIGH 신호를 주는 설정으로 하였습니다. 전원 OFF 시에 전원이 TAMPER 핀으로 들어가지 않게 하기 위함이었습니다. /******************************************************************************** Function Name : * Parameters : * Return : none* Description : *************************************..