Форум РадиоКот https://radiokot.ru/forum/ |
|
STM8L0151+USART не работает https://radiokot.ru/forum/viewtopic.php?f=59&t=153919 |
Страница 1 из 1 |
Автор: | Alex-Elektron [ Вт апр 03, 2018 20:15:14 ] |
Заголовок сообщения: | STM8L0151+USART не работает |
Доброго времени суток! Пытаюсь запустить USART на STM8L151, код пишу в IAR. 1) Ремап сделал на А2,А3. 2) Выход настроил. 3) USART1 включил. 3) Делитель установил. 4) Передачу разрешил. Но на выходе ничего нет. Зисис мой код: Код: #include "iostm8l151f3.h" void clock_init(){ CLK_CKDIVR = 1; CLK_ICKCR |= (1<<0); while(!(CLK_ICKCR&(1<<1))); } void mcu_usart_init(unsigned int divider){ SYSCFG_RMPCR1 |= (1<<4); //Remap to PA2, PA3 PA_DDR_bit.DDR2 = 1; // Output PA_CR1_bit.C12 = 1; // Push-pull CLK_PCKENR1_bit.PCKEN10 = 1; //USART1 On (void) USART1_SR; (void) USART1_DR; USART1_BRR2 = (unsigned char) (((divider >> 8) & 0xF0) | (divider & 0x0F)); USART1_BRR1 = (unsigned char) (divider >> 4); USART1_CR2_bit.REN=1; USART1_CR2_bit.TEN=1; } int main( void ){ clock_init(); mcu_usart_init(208); //Divider for 8MHz to 34800 PC_DDR_bit.DDR4 = 1; // Output PC_CR1_bit.C14 = 1; // Push-pull PC_CR2_bit.C24 = 0; // 2MHz output speed while(1){ while(!(USART1_SR_bit.TXE)); USART1_DR = 0xAA; PC_ODR ^= (1<<4); for(unsigned long i=0; i<200000; i++); } } Где я неправ или что ещё нужно сделать? |
Автор: | logind [ Сб дек 29, 2018 00:31:03 ] |
Заголовок сообщения: | Re: STM8L0151+USART не работает |
Доброго времени суток! Пытаюсь запустить USART на STM8L151, код пишу в IAR. Зисис мой код: Код: CLK_PCKENR1_bit.PCKEN10 = 1; //USART1 On Где я неправ или что ещё нужно сделать? По моему тут должно быть: CLK_PCKENR1_bit.PCKEN15 = 1 |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |