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

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!)..

Keil, IAR고정위치에 바이너리 라이팅하기

Keil에서 고정 위치에 바이너리 라이팅하기 const unsigned char FixedROM[65520UL + 1] __attribute__((at(0x08010000))) = {0x00, };  IAR에서 고정위치에 바이너리 라이팅하기#pragma location = 0x08010000__root const unsigned char FixedROM[65520UL + 1] = {0x00, };  0x08010000는 위치하고 싶은 주소   Bin2C 코드 :       코드 출처 : https://www.dotnetnote.com/docs/c-language/get-file-size-in-c/ 파일 크기 확인하는 C 프로그램 예제파일 크기 확인하는 C 프로그램 예제 이번 아티클에서는 C 언어를 사용하..

Tamper 사용

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

다중 이동식 저장장치

사용 MCU : STM32F103Zx사용한 MassStorage 타입 : SD, NandFlash, InterFlash mass_mal.c에서 수정 #include "stm32f10x.h"#include "stdio.h"#include "bsp_sdio_sd.h"#include "usr_nand.h"#include "mass_mal.h" #include "usr_led.h"#include "usr_uart.h" //#define MASSPRINT DEBUGPRINT#define MASSPRINT(...) typedef enum _MASS_ID{MASS_SD = 0,MASS_NAND = 1,MASS_INTERNNAL = 2,}MASS_ID_E; #define MAL_OK 0#define MAL_FAIL 1..