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

 
 
> STM32F050F5P6 и USART на ногах PA2-PA3, То ли несоотвествие в даташите, то ли лыжи не едут...
Tronix286
сообщение Dec 25 2014, 12:30
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 25-10-14
Пользователь №: 83 341



Доброго дня.

Смотрю в даташит на сабж:



PA2 - USART1_TX
PA3 - USART1_RX

Смотрю дальше:



Вопрос - это как так? По серии экспериментов получается, что USART1 реально находится на PA1 и PA2. Но устройство уже готово, ибо смотрел я ессно в первую табличку. Никто не видел каких-нибудь "софтварных" реализаций UART, скорость то вообщем-то нужна никакая - 1200 бит, можно и самому ногами подергать, но так не хочется велосипед с нуля писать.

Печаль...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tronix286
сообщение Dec 29 2014, 10:15
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 25-10-14
Пользователь №: 83 341



Итак, прям щаз ради интереса запаял обратно 050 на плату - и... и работает на PA2, PA3.. Действительно, хоть и в грубой форме, но HHIMERA оказался прав. Первый раз я видимо что-то не так заинициализил, ибо программер из меня тот еще..., и торопился...

В общем, в даташите есть ошибка, на практике оказалась верна первая таблица. USART у stm32f050f4p6 находится реально на PA2, PA3.

На всякий случай кусок говнокодеса инициализации, который работает и на 030f4 и на 050f4:
CODE
/* NVIC configuration */
/* Enable the USARTx Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);

/* Writes data to the specified GPIO data port */
GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_1);

/* Connect PXx to USARTx_Rx */
GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_1);


/* Configure USART Tx and Rx as alternate function push-pull */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIO_Speed_Level_3;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_Init(GPIOA, &GPIO_InitStructure);

USART_InitStructure.USART_BaudRate = 1200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);

//GPIO_ResetBits(GPIOF, GPIO_Pin_0);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
USART_ITConfig(USART1, USART_IT_TXE, DISABLE);

USART_ITConfig(USART1, USART_IT_ORE, ENABLE);
USART_ITConfig(USART1, USART_IT_NE, ENABLE);
USART_ITConfig(USART1, USART_IT_FE, ENABLE);

/* Enable USART */
USART_Cmd(USART1, ENABLE);


Сообщение отредактировал IgorKossak - Dec 29 2014, 11:35
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Tronix286   STM32F050F5P6 и USART на ногах PA2-PA3   Dec 25 2014, 12:30
- - hd44780   Софтварные есть для AVR, посмотрите, мож что-то по...   Dec 25 2014, 16:36
- - 1113   а что это за контроллер такой? дайте на него ссылк...   Dec 25 2014, 19:49
- - adnega   Цитата(Tronix286 @ Dec 25 2014, 16:30) Пе...   Dec 25 2014, 20:03
- - Tronix286   Цитата(1113 @ Dec 25 2014, 22:49) а что э...   Dec 25 2014, 20:04
- - 1113   а что с этим контроллером не так, почему его нет в...   Dec 25 2014, 20:20
|- - adnega   Цитата(1113 @ Dec 26 2014, 00:20) а что с...   Dec 25 2014, 20:28
|- - 1113   Цитата(adnega @ Dec 25 2014, 23:28) ST-шн...   Dec 25 2014, 20:32
- - Tronix286   Цитата(1113 @ Dec 25 2014, 23:20) а что с...   Dec 25 2014, 20:34
- - smalcom   А обратили внимание на сноски и маркировку своего ...   Dec 26 2014, 09:55
- - HHIMERA   Цитата(Tronix286 @ Dec 25 2014, 15:30) По...   Dec 26 2014, 16:49
- - Tronix286   Цитата(smalcom @ Dec 26 2014, 12:55) А об...   Dec 26 2014, 17:03
|- - HHIMERA   Цитата(Tronix286 @ Dec 26 2014, 20:03) За...   Dec 26 2014, 17:09
- - Tronix286   Цитата(HHIMERA @ Dec 26 2014, 20:09) Ещё ...   Dec 26 2014, 17:23
|- - HHIMERA   Цитата(Tronix286 @ Dec 26 2014, 20:23) Во...   Dec 26 2014, 17:36
|- - adnega   Цитата(Tronix286 @ Dec 26 2014, 21:23) Чт...   Dec 26 2014, 19:27
- - Tronix286   Цитата(HHIMERA @ Dec 26 2014, 20:36) Поче...   Dec 26 2014, 17:48
|- - HHIMERA   Цитата(Tronix286 @ Dec 26 2014, 20:48) на...   Dec 26 2014, 17:58
|- - ViKo   Цитата(Tronix286 @ Dec 26 2014, 20:48) Не...   Dec 26 2014, 19:26
- - Tronix286   Да, решили просто поменять контроллер на stm32f030...   Dec 26 2014, 19:38
|- - HHIMERA   Цитата(Tronix286 @ Dec 26 2014, 22:38) Да...   Dec 26 2014, 21:17
- - Сергей Борщ   Вот нашел у себя табличку с переименованиями: КодP...   Dec 27 2014, 11:36
- - Tronix286   От перестановки мест слагаемое не поменялось - пря...   Dec 27 2014, 20:49
|- - HHIMERA   Цитата(Tronix286 @ Dec 27 2014, 23:49) За...   Dec 27 2014, 22:11
- - Golikov A.   Не понимаю я чего эта химера такая борзая.... взя...   Dec 28 2014, 10:12
|- - HHIMERA   Цитата(Golikov A. @ Dec 28 2014, 13:12) Н...   Dec 28 2014, 11:39
|- - adnega   Цитата(HHIMERA @ Dec 28 2014, 15:39) Сами...   Dec 28 2014, 12:31
|- - adnega   Цитата(Tronix286 @ Dec 29 2014, 14:15) Ит...   Dec 29 2014, 10:28
- - Golikov A.   Блин все всегда было на своих местах. И было весь...   Dec 29 2014, 12:12
- - IgorKossak   Вопрос исчерпан. Тему закрываю. Модератор.   Dec 29 2014, 13:40


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

 


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


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