1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 26
1

STM32 и Дисплей SPI

24.11.2016, 13:43. Показов 3982. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Компилирую в CoIDE прогу, получаю ошибку "main.c:117:1: error: expected identifier or '(' before 'while'"
Что делаю не так ?
код из

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include "misc.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_spi.h"
GPIO_InitTypeDef G;
SPI_InitTypeDef S;
 
 
void MX_GPIO_Init(void)
{
 
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
 
   G.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_5;
   G.GPIO_Mode = GPIO_Mode_AF_PP;
   G.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_Init(GPIOA, &G);
 
   G.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4| GPIO_Pin_2;
   G.GPIO_Mode = GPIO_Mode_Out_PP;
   G.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_Init(GPIOA, &G);
 
   S.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;
   S.SPI_CPHA = SPI_CPHA_1Edge;
   S.SPI_CPOL = SPI_CPOL_Low;
   S.SPI_DataSize = SPI_DataSize_8b;
   S.SPI_FirstBit = SPI_FirstBit_MSB;
   S.SPI_Mode = SPI_Mode_Master;
   S.SPI_NSS = SPI_NSS_Soft;
   S.SPI_Direction = SPI_Direction_1Line_Tx;
   SPI_Init(SPI1, &S);
   SPI_Cmd(SPI1, ENABLE);
 
   SPI_NSSInternalSoftwareConfig(SPI1,SPI_NSSInternalSoft_Set);
 
}
 
void Write_SPI(char Data2) // ???????? ?? SPI ????????? ??? ??????????
{
  SPI_I2S_SendData(SPI1, Data2);
  while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);
/*       uchar i,k;
 
 
   for(i=0; i<8; i++) {
      if (Data2 & 0x80) LCD_MOSI1
                  else LCD_MOSI0;
      Data2 = Data2<<1;
      LCD_SCK0;
      LCD_SCK1;}
*/
}
 
 
void lcd_initial(void)
{
uint8_t initTime;
        reset(0);
        delay_ms(5);
        reset(1);
        delay_ms(5);
 
 
 
write_command(0x11);//Sleep exit
delay_ms (5);
 
//ST7735R Frame Rate
write_command(0xB1);
write_data_lcd(0x01); write_data_lcd(0x2C); write_data_lcd(0x2D);
write_command(0xB2);
write_data_lcd(0x01); write_data_lcd(0x2C); write_data_lcd(0x2D);
write_command(0xB3);
write_data_lcd(0x01); write_data_lcd(0x2C); write_data_lcd(0x2D);
write_data_lcd(0x01); write_data_lcd(0x2C); write_data_lcd(0x2D);
 
write_command(0xB4); //Column inversion
write_data_lcd(0x07);
 
//ST7735R Power Sequence
write_command(0xC0);
write_data_lcd(0xA2); write_data_lcd(0x02); write_data_lcd(0x84);
write_command(0xC1); write_data_lcd(0xC5);
write_command(0xC2);
write_data_lcd(0x0A); write_data_lcd(0x00);
write_command(0xC3);
write_data_lcd(0x8A); write_data_lcd(0x2A);
write_command(0xC4);
write_data_lcd(0x8A); write_data_lcd(0xEE);
 
write_command(0xC5); //VCOM
write_data_lcd(0x0E);
 
write_command(0x36); //MX, MY, RGB mode
write_data_lcd(0xC0);
 
write_command(0xF0); //Enable test command
write_data_lcd(0x01);
write_command(0xF6); //Disable ram power save mode
write_data_lcd(0x00);
 
 
//write_command(0x38);
write_command(0x3A);
 
//65k mode
write_data_lcd(0x05);
//Display on
write_command(0x29);
 
};
 
 
 
while (1)
{
}

Или может есть готовый проект подключения http://www.ebay.com/itm/222110... EBIDX%3AIT к STM32F10x
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2016, 13:43
Ответы с готовыми решениями:

STM32 и Дисплей SPI
Добрый день. Подскажите пожалуйста в чем может быть проблема. Есть дисплей работающий с помощью...

STM32 + SPI
Собственно, проблема. Мой нижеприведенный код, по идее, должен изменять настройки SPI и включать...

Дисплей ILI9341 SPI не работает на STM32F105
Привет всем. Обзавёлся тут вот таким дисплеем - http://www.ebay.com/itm/1PC-2-2-Inch-SP ......

SPI stm32 CMSIS
Здравствуйте. Я уже создавал похожую тему но использовал HAL. Теперь появилась необходимость...

SPI и UART на STM32
Здравствуйте! Возник следующий вопрос. Как отправить значение (в шестнадцатеричном коде) по...

12
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,514
24.11.2016, 14:22 2
в скобках разберись
у тебя последний while не относится ни к одной функции
0
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 26
24.11.2016, 16:12  [ТС] 3
Да, бывает....забыл про main()..........
0
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 26
29.11.2016, 12:27  [ТС] 4
Так может кто-то подключал сиё чудо http://www.ebay.com/itm/222110... EBIDX%3AIT к STM32F103 ?
По коду не могу понять куда подключать A7, A5 A3, A4, A2
0
Эксперт .NET
10534 / 6462 / 1502
Регистрация: 25.05.2015
Сообщений: 19,590
Записей в блоге: 14
29.11.2016, 12:37 5
now100, покажете список пинов платы и даташит на контроллер дисплея?
0
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 26
29.11.2016, 13:06  [ТС] 6
выводы
Миниатюры
STM32 и Дисплей SPI  
0
Эксперт .NET
10534 / 6462 / 1502
Регистрация: 25.05.2015
Сообщений: 19,590
Записей в блоге: 14
29.11.2016, 13:15 7
Даташит, вероятно: http://www.displayfuture.com/D... ST7735.pdf
0
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 26
29.11.2016, 13:19  [ТС] 8
Да, он, ждал 5мин пока можно отредактировать сообщение )
0
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 26
29.11.2016, 13:30  [ТС] 9
На али пишут что контроллер с буквой S в конце. Не знаю есть ли разница с просто ST7735 но скачал и даташит ST7735S
ST7735S_v1.1 datasheet.pdf
0
Эксперт .NET
10534 / 6462 / 1502
Регистрация: 25.05.2015
Сообщений: 19,590
Записей в блоге: 14
29.11.2016, 16:52 10
Судя по Adafruit GFX Graphics Library, 8 пинов:
  • GND Земля;
  • VDD Питание;
  • BL Подсветка;
  • RST Сброс;
  • CS Выбор кристалла;
  • SCK Такты;
  • MOSI Вход данных;
  • MISO Выход данных.

Если будете дёргать выводы программно, то пофиг куда цеплять. Кроме питания, очевидно. И пин подсветки ещё может быть входом управления, а может и питанием подсветки.

Добавлено через 3 минуты
Если же с использованием аппаратного SPI в STM32, то надо выяснить, на какие пины он выходит. Их всего 3 - SCK, MISO, MOSI. Остальные управляющие - всё равно вручную.
0
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 26
30.11.2016, 11:16  [ТС] 11
у меня немного другой экран : http://www.ebay.com/itm/222110... EBIDX%3AIT
входы : LED, SCK, SDA, A0, RESET, CS, GND, VCC
он же http://www.ebay.com/itm/1-44-R... 2110652101

Добавлено через 14 минут
Вот вроде немного разжевано : http://www.stm32duino.com/viewtopic.php?t=486
0
Эксперт .NET
10534 / 6462 / 1502
Регистрация: 25.05.2015
Сообщений: 19,590
Записей в блоге: 14
30.11.2016, 11:18 12
Ещё это может оказаться ILI9163.
Впредь перед покупкой выясняйте сначала, на чём именно китайцы собирают. После - можно считать идентификатор контроллера по протоколу обмена соответствующего контроллера.

SCK - такты, SDA - выход данных с МК на дисплей, A0 - данные/команда, CS - выбор кристалла.
Кликните здесь для просмотра всего текста
0
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 26
30.11.2016, 16:08  [ТС] 13
Так вот у продавца никакой инфы небыло.
Да, в нете видел чаще что эти экраны идут с ILI9163.
Хотя на ebay где брал и на али везде инфа про ST7735.
Короче попробую по варианту http://www.stm32duino.com/viewtopic.php?t=486
Позже отпишусь.

Добавлено через 4 часа 45 минут
Ну его это ардуино для stm32....
0
30.11.2016, 16:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2016, 16:08
Помогаю со студенческими работами здесь

Stm32 max7219 SPI
День добрый! Никак не могу настроить работу МК для управления 7 сегментным индикатором. Вроде все...

Проблема с SPI stm32
Здравствуйте. Работа с stm32 и HAL, пытался настроить W5500 используя официальную библиотеку, но не...

STM32 + SPI SD FATFS
Всем привет. Пробую запустить файловую систему на Micro SD картe. Микроконтроллер STM32F407....

Зависает SPI на STM32
Всем добрый день! Подключал STM32 к разным устройствам по SPI... Проект создал в Кубе, и...

STM32 ili9341 SPI+DMA
Всем привет. У меня никак не получается правильно настроить работу дисплея ili9341. Сейчас...

Извлечение данных по SPI STM32
Здравствуйте, осваиваю SPI на STM32. Не получается организовать извлечение данных. Использую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru