Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
spi_oled_test.c
См. документацию.
1 
30 #include "chip_5023BC016.h"
31 #include "system.h"
32 #include "debug_uart.h"
33 #include <string.h>
34 #include "spi.h"
35 #include "SSD1306_Cfg.h"
36 #include "SSD1306.h"
37 
38 extern const uint8_t _111Bitmaps[];
39 const uint32_t sys_freq = 50000000; // Системная частота
40 static SPI_CONFIG_T ssp_format; // Настройка SPI
41 const uint8_t Str[] = {"CPU_5023BC016 "}; // Сообщение, выводимое на экран
42 uint16_t Position = 0;
43 
47 void GetString(uint8_t *str)
48 {
49  uint16_t pos = 0;
50 
51  for(pos=0; pos<16; pos++)
52  {
53 
54  if(Position == strlen((char *)Str)-1)
55  {
56  Position = 0;
57  }
58  else
59  {
60  Position +=1;
61  }
62  str[pos] = Str[Position];
63  }
64 }
65 
70 {
71  GPIO_D->ALTFUNCSET = (1 << 14); //SPI2_MOSI
72  GPIO_D->ALTFUNCSET = (1 << 12); //SPI2_SCK
73  GPIO_D->ALTFUNCSET = (1 << 9); //SPI1_MISO
74  GPIO_D->ALTFUNCSET = (1 << 13); //SPI2_MISO
75  GPIO_D->ALTFUNCSET = (1 << 10); //SPI1_MISO
76  GPIO_D->ALTFUNCSET = (1 << 8); //SPI1_SCK
77  GPIO_D->ALTFUNCSET = (1 << 11); //SPI2_SS
78  GPIO_D->ALTFUNCSET = (1 << 7); //SPI1_SS
79 }
80 
81 
94  int main(void)
95 {
96 
97  SystemInit(); // Инициализация микросхемы
98 
99  SPI_Init(SPI1); // Инициализация SPI
100 
101  ssp_format.frameFormat = SPI_FRF_SPI; // Протокол SPI фирмы Motorola
102  ssp_format.bits = SPI_BITS_9; // Размер слова данных 9 бит
103  ssp_format.clockMode = SPI_CLOCK_MODE0;
104 
105  SPI_SetFormat(SPI1, ssp_format.bits, // Установка формата информационного кадра
106  ssp_format.frameFormat,
107  ssp_format.clockMode);
108  SPI_Enable(SPI1); // Разрешение работы приемопередатчика
109 
110  Gpio_SPI_Init(); // Инициализация GPIO для работы с SPI
111 
112  OLED_Init(); // Инициализация OLED
113 
114  uint16_t Y;
115  uint16_t X;
116 
117  uint32_t OffSetY = 1;
118 
119  uint32_t C = 128*OffSetY;
120 
121  uint8_t Mess[16] = {" CPU 5023BC016 "};
122 
123  for( Y = 0; Y < 50 - OffSetY - 1; Y++ )
124  {
125  for( X = 0; X < 128; X++ )
126  {
127  OLED_DrawPoint(X, Y, _111Bitmaps[C++]);
128  }
129  }
130 
131  OLED_ShowString(0, 50, Mess);
132 
133  OLED_SetDisplayEnable(false);
134 
136 
138 
139  OLED_SetDisplayEnable(true);
140 
141  /* do{
142 
143  Delay_us(1000000);
144 
145  } while(true);
146 
147  */ while(1){
148  }
149 
150 }
151 
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с отладочным выводом...
const uint8_t _111Bitmaps[]
Definition: OLEDFont.c:228
void SystemInit(void)
Инициализация микросхемы
Definition: system.c:352
SPI_CLOCK_MODE_T clockMode
Definition: spi.h:189
int main(void)
Тест OLED.
Definition: spi_oled_test.c:94
void SPI_SetFormat(SPI_T *pSPI, uint32_t pbits, uint32_t pframeFormat, uint32_t pclockMode)
Установка формата информационного кадра
Definition: spi.c:97
void OLED_Init(void)
initializes the OLED.
Definition: SSD1306.c:401
Этот файл содержит описание адресного пространства микроконтроллера 5023ВС016.
#define SPI_Enable(gl_spi_t)
Definition: spi.h:206
void OLED_ShowString(uint8_t X, uint8_t Y, const uint8_t *Str)
Displays a string on the OLED.
Definition: SSD1306.c:301
SPI_BITS_T bits
Definition: spi.h:188
void OLED_SetHorizontalScroll(SCROL_MODE Mode)
Definition: SSD1306.c:351
void OLED_Refresh_Gram(void)
refresh the GDDRAM
Definition: SSD1306.c:126
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с интерфейсом SPI...
uint16_t Position
Definition: spi_oled_test.c:42
Структура настройки SPI.
Definition: spi.h:186
static SPI_CONFIG_T ssp_format
Definition: spi_oled_test.c:40
SPI_FRAME_FORMAT_T frameFormat
Definition: spi.h:190
#define SPI1
Указатель на структуру SPI1.
void OLED_SetDisplayEnable(bool TurnOn)
Definition: SSD1306.c:347
const uint32_t sys_freq
Системная частота
Definition: spi_oled_test.c:39
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с регистрами общего на...
void GetString(uint8_t *str)
Получение строки
Definition: spi_oled_test.c:47
void SPI_Init(SPI_T *pSPI)
Инициализация SPI.
Definition: spi.c:54
const uint8_t Str[]
Definition: spi_oled_test.c:41
void Gpio_SPI_Init()
Инициализация GPIO для работы с SPI.
Definition: spi_oled_test.c:69
Definition: spi.h:65
This file contains all the functions prototypes for the OLED firmware driver.
void OLED_DrawPoint(uint8_t X, uint8_t Y, uint8_t Fill)
Displays a pixel.
Definition: SSD1306.c:190
This file Configures OLED working mode.
#define GPIO_D
Указатель на структуру GPIO_D.