при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


Код: Выделить всё
static int txrdy = 1;
void usart3_setup(){
RCC->IOPENR = RCC_IOPENR_GPIODEN; // enable PD
// set PD8 and PD9 as AF
GPIOD->MODER = (GPIOD->MODER & ~(GPIO_MODER_MODE8 | GPIO_MODER_MODE9))
| GPIO_MODER_MODER8_AF | GPIO_MODER_MODER9_AF;
// AF0 for USART3 @ PD8/PD9
GPIOD->AFR[1] = GPIOD->AFR[1] & ~(GPIO_AFRH_AFSEL8 | GPIO_AFRH_AFSEL9);
// enable USART3 clocking
RCC->APBENR1 |= RCC_APBENR1_USART3EN;
// baudrate 115200
USART3->BRR = 640000 / 1152;
// charmatch interrupt, enable transmitter and receiver, enable usart
USART3->CR1 = USART_CR1_CMIE | USART_CR1_TE | USART_CR1_RE | USART_CR1_UE;
//
}
// return amount of bytes sents
int usart3_send_blocking(const char *str, int len){
if(!txrdy) return 0;
for(int i = 0; i < len; ++i){
USART3->TDR = *str++;
while(!(USART3->ISR & USART_ISR_TXE_TXFNF));
}
return len;
}Код: Выделить всё
RCC->IOPENR = RCC_IOPENR_GPIODEN; // enable PDАга. А еще я саму функцию usart3_setup() не вызвал, и жду: а где ж мой "hello".Кстати, зачем выключаешь тактирование остальных GPIO?
нетуVladislavS писал(а): В диспетчере устройств должен быть ST-Link дополнительно к диску.
это понятно, но вместо этого оно мне сообщает, что ST-Link не подключен...VladislavS писал(а):Когда работаешь в IDE, она сама и прошивает

получилось. находит, подключается, обновляет до версии V1 где взять версию V2 пока не понялDimon456 писал(а):Запускаем утилиту STM32 ST-LINK Utility и пробуем подключиться. Что получилось?