31.[stm32f103][hal] OLED SSD1306
0. 파일
참고 사이트
https://github.com/afiskon/stm32-ssd1306
구매 사이트
http://www.devicemart.co.kr/1382233
1. STM32Cube 설정
이미 풀업 저항이 달려서 나온 제품~!!
2. 파일 설정
폴더를 열면
Inc 폴더엔 .h 파일을
Src 폴더엔 .c 파일을 넣으면 됩니다.
3. IAR 설정
4. 소스
main.c
#include "main.h" #include "stm32f1xx_hal.h" /* USER CODE BEGIN Includes */ #include "ssd1306_tests.h" /* USER CODE END Includes */ /* Private variables ---------------------------------------------------------*/ I2C_HandleTypeDef hi2c1; /* USER CODE BEGIN PV */ /* Private variables ---------------------------------------------------------*/ /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_I2C1_Init(void); /* USER CODE BEGIN PFP */ /* Private function prototypes -----------------------------------------------*/ /* USER CODE END PFP */ /* USER CODE BEGIN 0 */ void init() { ssd1306_TestAll(); } void loop() { HAL_Delay(100); } /* USER CODE END 0 */ /** * @brief The application entry point. * * @retval None */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_I2C1_Init(); /* USER CODE BEGIN 2 */ init(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ } |
5. 결과