Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
1

STM32 и Дисплей SPI

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

Здравствуйте.
Компилирую в 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/222110652101...%3AMEBIDX%3AIT к STM32F10x
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2016, 13:43
Ответы с готовыми решениями:

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

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

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

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

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

12
ValeryS
Модератор
7490 / 5672 / 727
Регистрация: 14.02.2011
Сообщений: 19,387
Завершенные тесты: 1
24.11.2016, 14:22 2
в скобках разберись
у тебя последний while не относится ни к одной функции
0
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
24.11.2016, 16:12  [ТС] 3
Да, бывает....забыл про main()..........
0
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
29.11.2016, 12:27  [ТС] 4
Так может кто-то подключал сиё чудо http://www.ebay.com/itm/222110652101...%3AMEBIDX%3AIT к STM32F103 ?
По коду не могу понять куда подключать A7, A5 A3, A4, A2
0
Rius
Эксперт .NET
5363 / 3546 / 855
Регистрация: 25.05.2015
Сообщений: 10,793
Записей в блоге: 11
Завершенные тесты: 4
29.11.2016, 12:37 5
now100, покажете список пинов платы и даташит на контроллер дисплея?
0
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
29.11.2016, 13:06  [ТС] 6
выводы
0
Миниатюры
STM32 и Дисплей SPI  
Rius
Эксперт .NET
5363 / 3546 / 855
Регистрация: 25.05.2015
Сообщений: 10,793
Записей в блоге: 11
Завершенные тесты: 4
29.11.2016, 13:15 7
Даташит, вероятно: http://www.displayfuture.com/Display/datasheet/controller/ST7735.pdf
0
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
29.11.2016, 13:19  [ТС] 8
Да, он, ждал 5мин пока можно отредактировать сообщение )
0
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
29.11.2016, 13:30  [ТС] 9
На али пишут что контроллер с буквой S в конце. Не знаю есть ли разница с просто ST7735 но скачал и даташит ST7735S
ST7735S_v1.1 datasheet.pdf
0
Rius
Эксперт .NET
5363 / 3546 / 855
Регистрация: 25.05.2015
Сообщений: 10,793
Записей в блоге: 11
Завершенные тесты: 4
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
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
30.11.2016, 11:16  [ТС] 11
у меня немного другой экран : http://www.ebay.com/itm/222110652101...%3AMEBIDX%3AIT
входы : LED, SCK, SDA, A0, RESET, CS, GND, VCC
он же http://www.ebay.com/itm/1-44-Red-Ser...3D222110652101

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

SCK - такты, SDA - выход данных с МК на дисплей, A0 - данные/команда, CS - выбор кристалла.
Кликните здесь для просмотра всего текста
0
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2016, 16:08

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

Управление ЦАПом AD5761 по SPI STM32
Здравствуйте, возникла такая проблема, не обновляется выход ЦАПа при работе с STM32. Однако при...

Соединение STM32 + Cubieboard через SPI
Добрый день! Соединяю платы STM32 и Cubieboard2 через SPI. Скорость 10МГц. Может ли длинна...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru