USART3 & SPI2 Sorunu ve Çözümü

Başlatan mcan, 01 Temmuz 2012, 20:25:28

mcan

Selamlar ,
Bu gün zaman kaybetmeme neden olan bir ayrıntıyı paylaşıyım ,
Sorun şu : USART3 senkron modda ve spi2 master modda kullanılırken usart3 susuyor. Neyse kulağı tersden göstererek sorunu buldum , çözümünü ararken dönüp dolaşıp kendi errata dökümanına geldim. Herşey çok açık ve basitti uygulamak 1 dakikamı aldı, halbuki bütün gün kodu oraya aktar onu dene bunu dene....

Sorun ve çözüm şu şekilde;
2.4.4 SPI2 in master mode and USART3 in synchronous mode
Conditions
● SPI2 and USART3 are clocked
● I/O port pin PB12 is configured as an alternate function output.
Description
USART3 cannot be used in synchronous mode (USART3_CK signal) if SPI2 is used in 
master mode and SP2_NSS is configured in software mode. In this case USART3_CK is not 
output on the pin.
Workaround
In order to output USART3_CK, the SSOE bit in the SPI2_CR2 register must be set to 
configure the pin in output mode,


Kısaca spı2 master nss soft ve usart3 senkron kullanırken usart3 susuyor çözümü SSOE bitini bir yapmak. Kodda bu ;
SPI2->CR2 |= 4;

Herhangi bir gariplik saçamalık gördüğümüzde errataya bakmak ilk işlerden biri olmalıymış.
Not: MCU stm32f103re
Kolay gelsin.