![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
stm32g031 hal oled
Dependencies: SMALL_HAL_SSD1308_128x64_I2C
main.cpp@0:2633b3dba75d, 2022-08-11 (annotated)
- Committer:
- caa45040
- Date:
- Thu Aug 11 00:16:18 2022 +0000
- Revision:
- 0:2633b3dba75d
stm32g031 hal oled
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
caa45040 | 0:2633b3dba75d | 1 | |
caa45040 | 0:2633b3dba75d | 2 | //HAL_oled_16x24_031_1 |
caa45040 | 0:2633b3dba75d | 3 | |
caa45040 | 0:2633b3dba75d | 4 | |
caa45040 | 0:2633b3dba75d | 5 | #include "mbed.h" |
caa45040 | 0:2633b3dba75d | 6 | #include "SSD1308.h" |
caa45040 | 0:2633b3dba75d | 7 | |
caa45040 | 0:2633b3dba75d | 8 | |
caa45040 | 0:2633b3dba75d | 9 | int main() { |
caa45040 | 0:2633b3dba75d | 10 | |
caa45040 | 0:2633b3dba75d | 11 | __HAL_RCC_GPIOA_CLK_ENABLE(); |
caa45040 | 0:2633b3dba75d | 12 | |
caa45040 | 0:2633b3dba75d | 13 | GPIO_InitTypeDef GPIO_InitStruct = {0}; |
caa45040 | 0:2633b3dba75d | 14 | |
caa45040 | 0:2633b3dba75d | 15 | GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12; |
caa45040 | 0:2633b3dba75d | 16 | GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; |
caa45040 | 0:2633b3dba75d | 17 | GPIO_InitStruct.Pull = GPIO_PULLUP; |
caa45040 | 0:2633b3dba75d | 18 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
caa45040 | 0:2633b3dba75d | 19 | GPIO_InitStruct.Alternate = GPIO_AF6_I2C2; |
caa45040 | 0:2633b3dba75d | 20 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
caa45040 | 0:2633b3dba75d | 21 | |
caa45040 | 0:2633b3dba75d | 22 | GPIO_InitStruct.Pin = GPIO_PIN_0; |
caa45040 | 0:2633b3dba75d | 23 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
caa45040 | 0:2633b3dba75d | 24 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
caa45040 | 0:2633b3dba75d | 25 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
caa45040 | 0:2633b3dba75d | 26 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
caa45040 | 0:2633b3dba75d | 27 | |
caa45040 | 0:2633b3dba75d | 28 | |
caa45040 | 0:2633b3dba75d | 29 | __HAL_RCC_I2C2_CLK_ENABLE(); |
caa45040 | 0:2633b3dba75d | 30 | |
caa45040 | 0:2633b3dba75d | 31 | I2C_HandleTypeDef hi2c2; |
caa45040 | 0:2633b3dba75d | 32 | |
caa45040 | 0:2633b3dba75d | 33 | hi2c2.Instance = I2C2; |
caa45040 | 0:2633b3dba75d | 34 | hi2c2.Init.Timing = 0x10707DBC; |
caa45040 | 0:2633b3dba75d | 35 | hi2c2.Init.OwnAddress1 = 0; |
caa45040 | 0:2633b3dba75d | 36 | hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; |
caa45040 | 0:2633b3dba75d | 37 | hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; |
caa45040 | 0:2633b3dba75d | 38 | hi2c2.Init.OwnAddress2 = 0; |
caa45040 | 0:2633b3dba75d | 39 | hi2c2.Init.OwnAddress2Masks = I2C_OA2_NOMASK; |
caa45040 | 0:2633b3dba75d | 40 | hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; |
caa45040 | 0:2633b3dba75d | 41 | hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; |
caa45040 | 0:2633b3dba75d | 42 | HAL_I2C_Init(&hi2c2); |
caa45040 | 0:2633b3dba75d | 43 | |
caa45040 | 0:2633b3dba75d | 44 | HAL_I2CEx_ConfigAnalogFilter(&hi2c2, I2C_ANALOGFILTER_ENABLE); |
caa45040 | 0:2633b3dba75d | 45 | |
caa45040 | 0:2633b3dba75d | 46 | HAL_I2CEx_ConfigDigitalFilter(&hi2c2, 0); |
caa45040 | 0:2633b3dba75d | 47 | |
caa45040 | 0:2633b3dba75d | 48 | |
caa45040 | 0:2633b3dba75d | 49 | HAL_Delay(200); |
caa45040 | 0:2633b3dba75d | 50 | |
caa45040 | 0:2633b3dba75d | 51 | |
caa45040 | 0:2633b3dba75d | 52 | SSD1308 oled = SSD1308( &hi2c2 , SSD1308_SA0); |
caa45040 | 0:2633b3dba75d | 53 | |
caa45040 | 0:2633b3dba75d | 54 | |
caa45040 | 0:2633b3dba75d | 55 | //char n1_8[] = "12345678"; |
caa45040 | 0:2633b3dba75d | 56 | char n1_8[] = "87654321"; |
caa45040 | 0:2633b3dba75d | 57 | //char n1_8[] = "88888888"; |
caa45040 | 0:2633b3dba75d | 58 | |
caa45040 | 0:2633b3dba75d | 59 | int ii=0; |
caa45040 | 0:2633b3dba75d | 60 | for(int nn=0; nn<8; nn++) { |
caa45040 | 0:2633b3dba75d | 61 | // y x |
caa45040 | 0:2633b3dba75d | 62 | oled.writeBigChar(0, ii*16,n1_8[nn]); |
caa45040 | 0:2633b3dba75d | 63 | ii = ii + 1; |
caa45040 | 0:2633b3dba75d | 64 | } //for |
caa45040 | 0:2633b3dba75d | 65 | |
caa45040 | 0:2633b3dba75d | 66 | while(1) { |
caa45040 | 0:2633b3dba75d | 67 | |
caa45040 | 0:2633b3dba75d | 68 | HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET); |
caa45040 | 0:2633b3dba75d | 69 | HAL_Delay(200); |
caa45040 | 0:2633b3dba75d | 70 | |
caa45040 | 0:2633b3dba75d | 71 | HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET); |
caa45040 | 0:2633b3dba75d | 72 | HAL_Delay(200); |
caa45040 | 0:2633b3dba75d | 73 | |
caa45040 | 0:2633b3dba75d | 74 | }//while |
caa45040 | 0:2633b3dba75d | 75 | |
caa45040 | 0:2633b3dba75d | 76 | }//main |