26.06.2018, 14:50
|
#21
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
ахахаха
точно. Это последствия использования STM32F0
|
|
|
|
26.06.2018, 15:00
|
#22
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
Проверил с осликом что на выходах всё как надо, с отладкой в кейле. Всё четко на выходах. Два варианта проверил как в ДШ и как я писал что попробую изменить. вместо RD дергал WR.
Немогу понять теперь куда копать....
Вот как я читаю ИД дисплея...
Нажмите, чтобы открыть спойлер
uint32_t Read_ID_ILI9341(void)
{
unsigned char x;
uint32_t id;
InitPeriph();
// RD_ACTIVE; // RD = 0;
// RESET_IDLE; // Reset off
// CS_ACTIVE; // CS = 0
// CD_COMMAND; // CD = 0
// setWriteDir();
// GPIOB-›ODR |= 0xD3;
// WR_IDLE; // WR = 1
//
// //Strob, Command
// RD_IDLE; // RD = 1
// RD_ACTIVE; // RD = 0
RESET_IDLE; // Reset off
CS_ACTIVE; // CS = 0
CD_COMMAND; // CD = 0
RD_IDLE; // RD = 1
WR_ACTIVE; // WR = 0
setWriteDir();
GPIOB-›ODR |= 0xD3;
//strob send command
WR_IDLE; // WR = 1
WR_ACTIVE; // WR = 0
CD_DATA; // CD = 1
setReadDir();
//Strob, DATA read
RD_ACTIVE; // RD = 0
RD_IDLE; // RD = 1
x = GPIOB-›IDR;
id=x;
id‹‹=8;
RD_IDLE; // RD = 1
RD_ACTIVE; // RD = 0
x = GPIOB-›IDR; //x=DATA_PIN;
id|=x;
id‹‹=8;
RD_IDLE; // RD = 1
RD_ACTIVE; // RD = 0
x = GPIOB-›IDR; //x=DATA_PIN;
id|=x;
id‹‹=8;
RD_IDLE; // RD = 1
RD_ACTIVE; // RD = 0
x = GPIOB-›IDR; //x=DATA_PIN;
id|=x;
// id‹‹=8;
CS_IDLE;
return id;
}
void setReadDir(void)
{
//Input mode
GPIOB-›CRL &= ~GPIO_CRL_MODE0
& ~GPIO_CRL_MODE1
& ~GPIO_CRL_MODE2
& ~GPIO_CRL_MODE3
& ~GPIO_CRL_MODE4
& ~GPIO_CRL_MODE5
& ~GPIO_CRL_MODE6
& ~GPIO_CRL_MODE7
; // out 50 mhz
GPIOB-›CRL &= ~GPIO_CRL_CNF0_0
& ~GPIO_CRL_CNF1_0
& ~GPIO_CRL_CNF2_0
& ~GPIO_CRL_CNF3_0
& ~GPIO_CRL_CNF4_0
& ~GPIO_CRL_CNF5_0
& ~GPIO_CRL_CNF6_0
& ~GPIO_CRL_CNF7_0
; // Analog mode
GPIOB-›CRL |= GPIO_CRL_CNF0_1
| GPIO_CRL_CNF1_1
| GPIO_CRL_CNF2_1
| GPIO_CRL_CNF3_1
| GPIO_CRL_CNF4_1
| GPIO_CRL_CNF5_1
| GPIO_CRL_CNF6_1
| GPIO_CRL_CNF7_1
; // Input PU/PD
GPIOB-›ODR &= ~GPIO_ODR_ODR0
& ~GPIO_ODR_ODR1
& ~GPIO_ODR_ODR2
& ~GPIO_ODR_ODR3
& ~GPIO_ODR_ODR4
& ~GPIO_ODR_ODR5
& ~GPIO_ODR_ODR6
& ~GPIO_ODR_ODR7
;
// Input PD!!!
}
void setWriteDir(void)
{
GPIOB-›CRL |= GPIO_CRL_MODE0
| GPIO_CRL_MODE1
| GPIO_CRL_MODE2
| GPIO_CRL_MODE3
| GPIO_CRL_MODE4
| GPIO_CRL_MODE5
| GPIO_CRL_MODE6
| GPIO_CRL_MODE7
; // out 50 mhz
// GPIOB-›CRL &= ~GPIO_CRL_CNF4;
GPIOB-›CRL &= ~GPIO_CRL_CNF0
& ~GPIO_CRL_CNF1
& ~GPIO_CRL_CNF2
& ~GPIO_CRL_CNF3
& ~GPIO_CRL_CNF4
& ~GPIO_CRL_CNF5
& ~GPIO_CRL_CNF6
& ~GPIO_CRL_CNF7
; // Output OD
GPIOB-›ODR &= ~GPIO_ODR_ODR0
& ~GPIO_ODR_ODR1
& ~GPIO_ODR_ODR2
& ~GPIO_ODR_ODR3
& ~GPIO_ODR_ODR4
& ~GPIO_ODR_ODR5
& ~GPIO_ODR_ODR6
& ~GPIO_ODR_ODR7
;
}
Может у кого есть мысли что делаю не так..?
|
|
|
|
26.06.2018, 15:16
|
#23
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
Анализатор есть 8 каналов. Мало же... Шину данных через отладку вижу. Управляющие ножки тож вижу.
Может дело в дисплее? Хотя сомневаюсь ...
У меня вот такой - https://www.ebay.com/itm/UNO-R3-Kit-....c100005.m1851
А у всех кто запускает такой - https://ru.aliexpress.com/item/2-4-I...ceBeautifyAB=0
Они немного отличаются сзади наличием кренки и всё....
|
|
|
|
26.06.2018, 15:20
|
#24
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
У вас уже на плате установлен тип интерфейса. Можно найти абдуриновкую библиотеку и выкачать оттуда инитиализацию. Эти упоротые парни хоть и не совсем от мира сего, но кое что у них почерпнуть можно.
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
26.06.2018, 15:20
|
#25
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
Сообщение от miwutka
|
Может у кого есть мысли что делаю не так..?
|
В даташите на страницах 28, 29 всё разрисовано на картинках.
Ну и чтение с порта нужно делать пока RDX в нуле.
|
|
|
Сказали "Спасибо" AJScorp
|
|
|
26.06.2018, 15:21
|
#26
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
Сообщение от Easyrider83
|
GPIOB-›ODR = (GPIOB-›ODR) | (cmd & 0xF0); //uint8_t cmd
|
Оба фигню написали)))
у меня должно было быть
GPIOB-›ODR = (GPIOB-›ODR & 0xFF00) | cmd; //uint8_t cmd
А у вас не знаю, как, но без "гашения" ранее установленных младших битов в ODR вместо cmd в них будет каша...
Хотя, конечно, вопрос чисто теоретический, музыкант правильно написал про доступ к части порта и про BSRR.
|
|
|
|
26.06.2018, 15:29
|
#27
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
Сообщение от Easyrider83
|
У вас уже на плате установлен тип интерфейса. Можно найти абдуриновкую библиотеку и выкачать оттуда инитиализацию. Эти упоротые парни хоть и не совсем от мира сего, но кое что у них почерпнуть можно.
|
Прийдеться смотреть их... Там куча всего написано. Неделю разбираться.....
Вот ужасно нудный тип в ютубе есть - http://narodstream.ru/avr-urok-34-di...-8bit-chast-1/. У него на аврках работает. Делал сначала по его коду - у меня на работает )) И по его коду резет притянут к земле. Незнаю как оно работает у него....
Последний раз редактировалось miwutka; 26.06.2018 в 15:34.
|
|
|
|
26.06.2018, 16:48
|
#28
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
Сообщение от STM32F0
|
На анализатор 4 младших разряда данных и управляющие.
|
Точно )) Главное увидеть хоть половину правильных данных. Ща буду колхозить...
Вот ток непойму на анализаторе есть СЛК пин. Какую ножку туда цеплять? WR - если надо запись проверить, а RD наверно, если чтение...
|
|
|
|
26.06.2018, 17:40
|
#29
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
Вот анализатором посмотрел что я там натворил... Пока ничего не понял...
|
|
|
|
26.06.2018, 17:53
|
#30
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,131
Сказал спасибо: 2,814
Сказали Спасибо 2,735 раз(а) в 2,024 сообщении(ях)
|
Re: ILI9341 + stm32f103c8t6
RS - это ресет?
Ничего, что он в нуле, когда в микру что-то пишется?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:54.
|
|