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

 
 
> stm32f051 : не могу запустить uart., stm32f051 : не могу запустить uart
Onkel
сообщение Mar 1 2013, 13:32
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861



hi all
Нашел лишь один образец работы usart в 32f051, но он напрямую не встает, пришлось разбираться до составляющих, получилось:
CODE
void InitUsart1(void)
{
RCC->AHBENR |= (1UL<<17); // PORT A clock ON
RCC->APB2ENR |= (1UL<<14); // UART1 clock ON
GPIOA->AFR[1] &= ~(1UL<<7); // set pinA9 as UART
GPIOA->AFR[1] |= (7UL<<4); // set pinA9 as UART
GPIOA->AFR[1] &= ~(1UL<<11); // set pinA10 as UART
GPIOA->AFR[1] |= (7UL<<8); // set pinA10 as UART

GPIOA->OSPEEDR |= (3UL << 2*9) ; // 50 MHz
GPIOA->OSPEEDR |= (3UL << 2*10) ; // 50 MHz

GPIOA->MODER |= (1UL << (2*9 +1 )); //
GPIOA->MODER &= ~(1UL << (2*9 ));
GPIOA->MODER |= (1UL << (2*10 +1 )); //
GPIOA->MODER &= ~(1UL << (2*10 ));

GPIOA->OTYPER &= ~(3UL<<9); // portA9 A10 push pull
GPIOA->PUPDR &= ~(5UL << 19); // pull up
GPIOA->PUPDR |= (5UL << 18); // pull up
USART1->BRR = 0x0683;
USART1->CR1 &= ~( 1UL<<12) ; // m-bit 8 bits

USART1->CR2 &= ~ (3UL << 12 ) ; //~USART_CR2_STOP; //1 stop bit

USART1->CR1 &= ~( 1UL<<10) ; // parity none

USART1->CR3 &= ~( 1UL<<9) ; // flow control

USART1->CR1 |= (3UL <<2); //Transmit enable 0x08 0x04

USART1->CR1 |= 1UL; //usart1 enable }


вывожу раз в 10 мс по tim6
while(!(USART1->ISR & (1<<6)));
USART1->TDR = 0xAA;

На ноге тх uart1 ничего нет.

Может, кто пример работы встречал uart на f051? В даташите написано, что портировать с f1xx код нельзя.

Сообщение отредактировал IgorKossak - Mar 1 2013, 22:03
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 15:06
Рейтинг@Mail.ru


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