05.12.2010, 23:37
|
|
Временная регистрация
Регистрация: 26.09.2009
Сообщений: 81
Сказал спасибо: 4
Сказали Спасибо 16 раз(а) в 13 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Есть у кого-нибудь пример работы с SPI, а то уже затрахался, как только не настраивал уже.. К сожалению, даже нет осцилла посмотреть есть ли клоки на SCK.
Код:
|
void SPIInit(void)
{
PC_DDR |= SCK | MOSI | CS;
PC_CR2 |= SCK | MOSI | CS; //High speed
PC_CR1 |= SCK | MOSI | CS; //Push-pull
SPI_CR1 |= SPI_BR0 | SPI_BR1 | SPI_BR2;
SPI_CR1 |= SPI_MSTR;
//SPI_CR1 |= SPI_CPOL;
//SPI_CR1 |= SPI_CPHA;
//SPI_CR2 |= SPI_SSM;
//SPI_CR2 |= SPI_SSI;
SPI_CR1 |= SPI_SPE;
} |
Код:
|
uint8_t SPISendByte(uint8_t data)
{
uint8_t result;
SPI_DR = data;
while( !(SPI_SR & SPI_TXE) );
result = SPI_DR;
return result;
} |
|
|
|
|
05.12.2010, 23:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от espectr0
|
Есть у кого-нибудь пример работы с SPI, а то уже затрахался, как только не настраивал уже..
|
А давайте сюда макросы SCK, MOSI и SPI_TXE.
И у SPI есть не один регистр конфигурации. Установите в CR2 SSI и SSM.
|
|
|
|
06.12.2010, 00:11
|
|
Временная регистрация
Регистрация: 26.09.2009
Сообщений: 81
Сказал спасибо: 4
Сказали Спасибо 16 раз(а) в 13 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
kison,
Сообщение от ;289586
|
А давайте сюда макросы SCK, MOSI и SPI_TXE.
И у SPI есть не один регистр конфигурации. .
|
Код:
|
#define CS (1 ‹‹ 3)
#define MOSI (1 ‹‹ 6)
#define SCK (1 ‹‹ 5)
#define SPI_CS_HIGH() (PC_ODR |= CS)
#define SPI_CS_LOW() (PC_ODR &= ~CS)
//SPI control register 1 (SPI_CR1)
#define SPI_CPHA (1 ‹‹ 0) //CPHA: Clock phase
#define SPI_CPOL (1 ‹‹ 1) //CPOL: Clock polarity
#define SPI_MSTR (1 ‹‹ 2) //MSTR: Master selection
#define SPI_BR0 (1 ‹‹ 3) //Baud rate control
#define SPI_BR1 (1 ‹‹ 4) //Baud rate control
#define SPI_BR2 (1 ‹‹ 5) //Baud rate control
#define SPI_SPE (1 ‹‹ 6) //SPI Enable
#define SPI_LSBFIRST (1 ‹‹ 7) //LSBFIRST: Frame format
//SPI control register 2 (SPI_CR2)
#define SPI_SSI (1 ‹‹ 0)
#define SPI_SSM (1 ‹‹ 1)
//SPI status register (SPI_SR)
#define SPI_RXNE (1 ‹‹ 0) //RxNE: Receive buffer not empty
#define SPI_TXE (1 ‹‹ 1) //TXE: Transmit buffer empty
// Bit 4 - reserved
#define SPI_WKUP (1 ‹‹ 3) //WKUP: Wakeup Flag
#define SPI_CRCERR (1 ‹‹ 4) //CRCERR: CRC error flag
#define SPI_MODF (1 ‹‹ 5) // MODF: Mode fault
#define SPI_OVR (1 ‹‹ 6) //OVR: Overrun flag
#define SPI_BSY (1 ‹‹ 7) //BSY: Busy flag |
Цитата:
|
Установите в CR2 SSI и SSM
|
В коде в предыдущем посте они закомментированы, пробовал включать,ничего не дало.
|
|
|
|
06.12.2010, 00:18
|
|
Заблокирован
Регистрация: 08.08.2007
Сообщений: 2,843
Сказал спасибо: 378
Сказали Спасибо 1,368 раз(а) в 746 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Подборка документации на сайте Промэлектроники:
http://www.promelec.ru/stm/stm8l/
Ссылки на Космик и пр.:
http://www.promelec.ru/company/news/564/
Что очень странно - ссылка на сайт ST - битая...
|
|
|
|
06.12.2010, 00:28
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
__________________
Осторожно , злой кот
|
|
|
|
06.12.2010, 01:34
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от st_1
|
Только что запустил на Дискавэри TFT LCD 220X176@16bit шина 8bit драйвер ILI9225. Прав, как всегда, оказался testerplus, плюс-минус лопата.
Чуть-чуть-чуть медленнее Мега16А@16MHz, вполне достойно, разница совсем маленькая, по впечатлениям.
|
Ну так я ж и говорю - по сравнению со старыми разработанными 20-25 лет назад обычными Мегами -то что толку сравнивать - да и то старые Меги еще прилично себя ведут - выигрыша STM8 у них нет почти никакого , а вот при возне с STM8 только одна головная боль , - а эквивалентное сравнение STM8 с тоже примерно того же по времени выхода XMega - если взять для того же Вашего TFT например - XMega - точняк порвал бы STM8 - да и переделать гораздо легче и удобнее отработанную прогу с Mega на XMega (Xmega прогится в той же самой WinAVR или AVRStudio ,что и обычные Меги , и переустанавливать ничего не надо ) , чем с Mega на новый набор команд STM8 при учете его еще и другой архитектуры, да и еще на другую среду программирования для него .
P.S. Хотя если только от скуки , когда уж совсем делать нечего , какую-нибудь игрушку собрать детям например , диодные мигалочки и прочее (шахматы даже кто-то хотел здесь сделать на нем), или там с глюками его среды покопаться для интереса , или с фиговой библиотекой заморочиться - в общем время убить - можно поколупаться и с STM8 , равно как и еще с кучей игрушечных чипов других фирм , но на мой взгдяд для нормальных рабочих проектов он по совокупности не годен .
__________________
Короче асма кода нет !
Последний раз редактировалось pinco; 06.12.2010 в 02:33.
|
|
|
|
06.12.2010, 02:13
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Гемор один - документация и отсутствие вменяемого компилера и IDE, а встроенными библами я никогда не пользовался, так что с переносом проблем особых не возникло. Во вторник поеду куплю STM8L152, поиграюсь.
|
|
|
|
06.12.2010, 02:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от espectr0
|
К сожалению, даже нет осцилла посмотреть есть ли клоки на SCK.
|
Если раскоментировать установку SSM и SSI, то должно работать. Может оно и работает, а Вы не замечаете? ![Улыбка](images/smilies/icon_smile.gif) Без осцилла сложно определить, даже с делителем на 256 SPI слишком шустрый для контроля его чем нибудь типа мультиметра.
Как проявляется наработоспособность?
ЗЫ. Там еще периферийный такт имеется, но он по умолчанию включен. Может отключили случайно?
Последний раз редактировалось kison; 06.12.2010 в 02:31.
|
|
|
|
06.12.2010, 02:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от pinco
|
а эквивалентное сравнение STM8 с тоже примерно того же по времени выхода XMega
|
Хотите иксмегу сравню? По году выхода ей как раз в противовес LPC2388 просится. Да и по цене тоже ![Улыбка](images/smilies/icon_smile.gif)
Или по древнее что нибудь взять? Типа LPC2144? Ну так он и дешевле к тому же.
Последний раз редактировалось kison; 06.12.2010 в 02:33.
|
|
|
|
06.12.2010, 02:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от st_1
|
С либами трахался бы ещё долго.
|
Много модулей задействовано? Типа таймеры/SPI/USART в каком нибудь хитром режиме типа LIN? Или... только GPIO? ![Улыбка](images/smilies/icon_smile.gif) Можно работать не используя библиотек, но в более-менее сложном проекте это может существенно замедлить дело. В АВР в основном очень простая периферия. А вот в STM8 некоторые модули значительно сложней. Библиотека позволяет не запоминать пару сотен регистров и значение разрядов в них. И позволяет не копаться каждый раз в документации.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:13.
|
|