STM32 новичку в ARM что к чему
Re: STM32 новичку в ARM что к чему
Darth Cuauhtemoc У 10x проверяй RXNE .
- Реклама
Re: STM32 новичку в ARM что к чему
Да не нужен там RXNE...
TXE и BSY вполне достаточно...
Да и насчёт SS... не уверен, что им там вообще дёргать надо...
TXE и BSY вполне достаточно...
Да и насчёт SS... не уверен, что им там вообще дёргать надо...
"Я не даю готовых решений, я заставляю думать!"(С)
Re: STM32 новичку в ARM что к чему
Вот и я про то, если хочет дергать CS каждый байт - тогда RXNE .HHIMERA писал(а): Да и насчёт SS... не уверен, что им там вообще дёргать надо...
Хотя этим дисплеем и на это дерганье не нужно.
-
Darth Cuauhtemoc
- Говорящий с текстолитом
- Сообщения: 1699
- Зарегистрирован: Вс июн 16, 2013 18:41:45
Re: STM32 новичку в ARM что к чему
А получится ли сделать хардварный NSS, чтобы мастер управлял NSS, таким образом?
Просто сейчас контроллера нет под рукой, чтобы сразу проверить.

Код: Выделить всё
...
GPIO_InitStructure.GPIO_Pin = SPI_LCD_PIN_SCK | SPI_LCD_PIN_MOSI | SPI_LCD_PIN_NSS;
...
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
...
SPI_InitStructure.SPI_NSS = SPI_NSS_Hard;
...
SPI_Init(SPI_LCD, &SPI_InitStructure);
SPI_Cmd(SPI_LCD, ENABLE);
...
SPI_SSOutputCmd(SPI_LCD, ENABLE);
Конечно, для этого случая можно и не дергать, это я так ужdosikus писал(а):Хотя этим дисплеем и на это дерганье не нужно.HHIMERA писал(а): Да и насчёт SS... не уверен, что им там вообще дёргать надо...
У кошки четыре ноги - вход, выход, земля и питание. Но трогать ее не моги - получится замыкание.
Re: STM32 новичку в ARM что к чему
Код: Выделить всё
void Lcd_putc( char c)
{
uint8_t line, n;
c-= 32;
if( c == 0 )
n = 3;
else
n = 5;
Lcd_Write(DATA,0);
for (line=0; line<n; line++){
while(!(SPI1->SR & SPI_SR_TXE));
SPI1->DR =((uint16_t)font5x8[c][line])|0x100UL;
}
while(SPI1->SR & SPI_SR_BSY);
}Вот вывод символа на nokia 1200 . На F0 .
Если сделаешь хардварный CS - он у тебя и будет хлопать каждую посылку . Оно надо?
Прижимать CS только когда работаешь с дисплеем - и то если на SPI еще что то сидит.
А если дисплей один , то СS на GND ...
Ну и скрин , правда здесь 9бит фрейм. CS дергаю для наглядности...
Спойлер

ЗЫ смотри - здесь полное цитирование предыдущего сообщения карается смертью.
Модераторы сильно радеют за объем страниц.
Блин , ну вот уже тыщу лет не актуально . Пора бы вытереть сей пункт на ...
Последний раз редактировалось dosikus Вт сен 17, 2013 11:28:05, всего редактировалось 2 раза.
- Реклама
Re: STM32 новичку в ARM что к чему
Хардварный NSS только у STM32F0XX и STM32F3XX...Darth Cuauhtemoc писал(а):А получится ли сделать хардварный NSS
Можно сделать на таймере... но оно нужно???
Да и вообще... дёргать CS имеет смысл только в случаях...
а) изменеие режимов и конфигурации по ходу пьесы... да и то не всегда...
в) ремап... да и то не всегда...
с) если это оговорено даташитом устройства и по другому никак...
"Я не даю готовых решений, я заставляю думать!"(С)
Re: STM32 новичку в ARM что к чему
STM32F100 ... 18 bit...dosikus писал(а): 9бит фрейм
"Я не даю готовых решений, я заставляю думать!"(С)
-
Darth Cuauhtemoc
- Говорящий с текстолитом
- Сообщения: 1699
- Зарегистрирован: Вс июн 16, 2013 18:41:45
Re: STM32 новичку в ARM что к чему
Дисплейчик работает
кстати, у меня в инициализации SPI была ошибка - для Nokia 3310 надо задавать
а у меня было SPI_CPOL_High.
Но после исправления все еще не работал; оказалось, была еще ошибка в одном бите в последовательности инициализации, но это к SPI уже отношения не имеет. Как исправил, заработало.
CS дисплея просто заземлил.
Код: Выделить всё
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
Но после исправления все еще не работал; оказалось, была еще ошибка в одном бите в последовательности инициализации, но это к SPI уже отношения не имеет. Как исправил, заработало.
CS дисплея просто заземлил.
У кошки четыре ноги - вход, выход, земля и питание. Но трогать ее не моги - получится замыкание.
Re: STM32 новичку в ARM что к чему
Прикинь у меня еще и RESET на VDD навешан и 9 бит SPI ...Darth Cuauhtemoc писал(а):.
CS дисплея просто заземлил.
И весь инит SPI, супротив простыней SPL :
Код: Выделить всё
void SPI1_init(void)
{
RCC->AHBENR |=RCC_AHBENR_GPIOAEN;
RCC->APB2ENR |=RCC_APB2ENR_SPI1EN;
GPIOA->MODER &=~
GPIO_MODER_MODER5 |
GPIO_MODER_MODER7
;
GPIOA->MODER|=
GPIO_MODER_MODER5_1|
GPIO_MODER_MODER7_1
;
GPIOA->OSPEEDR|=
GPIO_OSPEEDER_OSPEEDR5|
GPIO_OSPEEDER_OSPEEDR7
;
SPI1->CR1 |=
SPI_CR1_BR_0 | //
SPI_CR1_MSTR |
SPI_CR1_SSI |
SPI_CR1_SSM
;
SPI1->CR2 = 0x800; // 9 bit
SPI1->CR1 |= SPI_CR1_SPE;
}-
Darth Cuauhtemoc
- Говорящий с текстолитом
- Сообщения: 1699
- Зарегистрирован: Вс июн 16, 2013 18:41:45
Re: STM32 новичку в ARM что к чему
Для контроллера оригинального Nokia 3310 написано в даташите

Разбираться в нагромождениях скобок, сдвигов и бинарных операций... напоминает взрывающий моск LISP
Но в данном случае конечно все не так экстремально.
Жирный шрифт не мой. У меня правда экранчик китайский, он может быть и не таким нежным, но я рисковать не стал бы.Immediately following power-on, the contents of all internal
registers and of the RAM are undefined. A #RES pulse
must be applied. Attention should be paid to the
possibility that the device may be damaged if not properly
reset.
Ну это кому как удобно. Если нет жестких ограничений по памяти или быстродействию, лично я предпочитаю понятность (читабельность) кодаdosikus писал(а): И весь инит SPI, супротив простыней SPL :
Разбираться в нагромождениях скобок, сдвигов и бинарных операций... напоминает взрывающий моск LISP
У кошки четыре ноги - вход, выход, земля и питание. Но трогать ее не моги - получится замыкание.
Re: STM32 новичку в ARM что к чему
Ты сам в это веришь или чужими словами глаголишь ?Darth Cuauhtemoc писал(а): Ну это кому как удобно. Если нет жестких ограничений по памяти или быстродействию, лично я предпочитаю понятность (читабельность) кода![]()
В случае SPL удобочитаемость это бред полнейший .
-
Darth Cuauhtemoc
- Говорящий с текстолитом
- Сообщения: 1699
- Зарегистрирован: Вс июн 16, 2013 18:41:45
Re: STM32 новичку в ARM что к чему
Конечно, не чужими - я программист 
SPL мне понравилась больше, несмотря на многословность
SPL мне понравилась больше, несмотря на многословность
У кошки четыре ноги - вход, выход, земля и питание. Но трогать ее не моги - получится замыкание.
Re: STM32 новичку в ARM что к чему
Ну это то понятно что в эмбедде новичок.Darth Cuauhtemoc писал(а):Конечно, не чужими - я программист![]()
Здесь универсальные либы зло, в любой интерпретации . Это не PC...
-
Darth Cuauhtemoc
- Говорящий с текстолитом
- Сообщения: 1699
- Зарегистрирован: Вс июн 16, 2013 18:41:45
Re: STM32 новичку в ARM что к чему
Не совсем так, в ARM - да, а с AVR знаком уже какое то время и всегда предпочитал находить и использовать чужие либы, поскольку хорошо написанная как в смысле кода, так и понятности программисту, который ее применяет, либа - это сильная экономия времени, нервов и вообще...
Конечно, МК не PC, но это как посмотреть... ARMы, в принципе, неслабые такие компьютеры, и такой подход совершенно оправдан. Если нужно создать девайс, который должен будет работать с SD картой или флэшкой, ты же не будешь писать файловую систему с нуля, а возьмешь либу или даже CoOS.
Конечно, МК не PC, но это как посмотреть... ARMы, в принципе, неслабые такие компьютеры, и такой подход совершенно оправдан. Если нужно создать девайс, который должен будет работать с SD картой или флэшкой, ты же не будешь писать файловую систему с нуля, а возьмешь либу или даже CoOS.
У кошки четыре ноги - вход, выход, земля и питание. Но трогать ее не моги - получится замыкание.
Re: STM32 новичку в ARM что к чему
Не, быдло_код от кактуса, однозначно нет.Darth Cuauhtemoc писал(а): Если нужно создать девайс, который должен будет работать с SD картой или флэшкой, ты же не будешь писать файловую систему с нуля, а возьмешь либу или даже CoOS.
FatFS бери от чана . ОСей и так хватает , но только не кактусО_поделки.
Кстати AVR это тебе в минус , если сидел только на них...
У кодописателя на PC совершенно другое мировоззрение, там от либ никуда не денешься .
На МК даже на навороченных ARM совершенно спокойно можно обходиться без индусского кода SPL .
Да и полезней это будет - периферию нужно знать от и до ....
Последний раз редактировалось dosikus Вт сен 17, 2013 22:36:54, всего редактировалось 1 раз.
-
Darth Cuauhtemoc
- Говорящий с текстолитом
- Сообщения: 1699
- Зарегистрирован: Вс июн 16, 2013 18:41:45
Re: STM32 новичку в ARM что к чему
Ну, на CoOS наткнулся случайно, когда еще присматривался только к ARM. Поэтому упомянул - пока знаю только ее. То, что осей много, это хорошо - а Юникс, ну или Линукс есть хороший?dosikus писал(а):ОСей и так хватает
Кстати AVR это тебе в минус , если сидел только на них...
Да, сидел на них и не жужжал, пока не узнал вдруг о "коммунистических" STM32. После этого, решил переползти на новую платформу
У кошки четыре ноги - вход, выход, земля и питание. Но трогать ее не моги - получится замыкание.
Re: STM32 новичку в ARM что к чему
Дык это однозначно на другие ARM . Есть одноплатные компьютеры та же "Малинка" например.Darth Cuauhtemoc писал(а): а Юникс, ну или Линукс есть хороший?
-
Darth Cuauhtemoc
- Говорящий с текстолитом
- Сообщения: 1699
- Зарегистрирован: Вс июн 16, 2013 18:41:45
Re: STM32 новичку в ARM что к чему
9 бит SPI это интересно, есть у меня пара дисплеев Nokia 1202/1203/1280dosikus писал(а): Прикинь у меня еще и RESET на VDD навешан и 9 бит SPI ...![]()
Код: Выделить всё
SPI1->CR2 = 0x800; // 9 bit
UPD: Интересно, а если программа отремапит на выводы JTAG другие функции, возможность программирования не будет утрачена?
У кошки четыре ноги - вход, выход, земля и питание. Но трогать ее не моги - получится замыкание.
Re: STM32 новичку в ARM что к чему
Darth Cuauhtemoc, ремапте на выводы JTAG, например, через секунду после старта МК.


