Вт июл 27, 2021 22:18:43
Ср июл 28, 2021 07:05:59
Professor Chaos писал(а):Извиняюсь, ошибся. У вас так:
Reg = (0<<Pos1)|(0<<Pos2);
Надо лишь помнить, что такой записью вы портите содержимое всех прочих битовых полей регистра Reg, что тоже нежелательно.
"Шарик! Ты- балбес! (с) Кот Матроскин"
- Код:
ComPort UART_base::open
(
ComPort _port,
uint32 _baudRate,
uint8 _dataBits,
Parity _parity,
StopBits _stopBits
)
{
// Сбросим все конфигурационные биты. По ходу разбора параметров будем
// выставлять нужные.
usart -> CR1 = \
usart -> CR2 = \
usart -> CR3 = 0;
.......
usart -> SR = 0;
setEvents(); // Разрешаем нужные нам прерывания.
.......
return( port );
}
///////////////////////////////////////
void
ConIO::setEvents( void )
{
// Сначала сбросим биты событий.
//usart -> ISR = 0;
usart -> CR1 =
(
// Запрос прерывания в следующих случаях:
0 << USART_CR1_TCIE_Pos | // - по установке бита TC регистра SR,
// т.е. при окончании передачи;
0 << USART_CR1_TXEIE_Pos | // - по установке бита TXE регистра SR,
// т.е. при начале передачи;
0 << USART_CR1_RXNEIE_Pos | // - что-то пришло в УАРТ.
// Не забываем включить сам модуль и выводы:
1 << USART_CR1_TE_Pos | // - включаем передатчик;
1 << USART_CR1_RE_Pos | // - включаем приёмник;
1 << USART_CR1_UE_Pos // - включение USART.
);
// Разрешаем приём, передачу, устанавливаем обработчики прерываний,
// включаем тактирование.
installInterruptHandler( usart_IRQn );
}
Reg |= (0<<Pos1)|(0<<Pos2);
Для чего вы это пишите? Проговорите словами, что вы хотите сделать такой строкой.
Ср июл 28, 2021 08:31:47
Ну вот, F4 не тянет, а F103 потянул.ivan dimir писал(а):Лёд тронулся.Правда на stm32f103.
Способов много, от printf до всяких там xprintf.ivan dimir писал(а):А как же мне строку отправить?
void tx_uart(char data)
{
while (!(USART1->SR & USART_SR_TC)); //
USART1->DR=data;
}
void putstring ( char *str)
{ unsigned char i;
for(i=0;str[i]!='\0';i++)
tx_uart(str[i]);
}
putstring ("Hello World!");
Ср июл 28, 2021 18:10:45
Чт июл 29, 2021 17:46:39
Чт июл 29, 2021 17:55:36
Чт июл 29, 2021 18:04:46
Чт июл 29, 2021 18:07:42