реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> STM8S GPIO Альтернативный выход
amiller
сообщение Feb 21 2014, 11:00
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612



Здравствуйте!
В паре мелких проектов использовал процессор STM8S105C4T6.
Среда программирования и отладки IAR.
При настройке интерфейса SPI заметил такой ньюанс:
Если перед включением интерфейса в настройках GPIO установить биты, отвечающий за скорость (с 2МГц на 10МГц), то процессор вылетает по неподдерживаемой ошибке. По крайней мере так говорит отладчик IAR. Если настройки GPIO не трогать, то SPI работает в соответствии с документацией на частоте 4МГц.
Всё бы ничего, но документации (RM0016 Reference manual STM8S and STM8A microcontroller families) в разделе 11.8.1 есть такая фраза:
Examples: SPI output pins must be set-up as push-pull, fast slope for optimal operation.
Т.е. производитель рекомендует выводы настраивать именно так.
Может кто-то сталкивался с этим моментом или есть какие-то мысли по этому поводу. Пример кода ниже:
//--------------------------------------------- // Инициализация GPIO
PC_CR1_bit.C15 = 1; PC_CR2_bit.C25 = 1 // SCK
PC_CR1_bit.C16 = 1; PC_CR2_bit.C26 = 1 // MOSI
//--------------------------------------------- // Инициализация SPI
SPI_CR1 = 0;
SPI_CR1_bit.BR = 1; // Fclk / 4 = 4 МГц
SPI_CR1_bit.CPOL = 1; // clock polarity
SPI_CR1_bit.CPHA = 1; // clock phase
SPI_CR1_bit.LSBFIRST = 0; // msb first
SPI_CR2 = 0;
SPI_CR2_bit.SSI = 1; // master mode
SPI_CR2_bit.SSM = 1; // software mode
SPI_CR1_bit.MSTR = 1; // master mode
SPI_CR1_bit.SPE = 1; // enable SPI
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 21:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01312 секунд с 7
ELECTRONIX ©2004-2016