Skip to main content
Visitor II
July 4, 2012
Question

STM8L discovery USART : can´t write to usart register!

  • July 4, 2012
  • 2 replies
  • 809 views
Posted on July 04, 2012 at 11:08

i cant seem to be able to write in any of the usart registers. i use STVD with raisonance compiler.

eg. when i write

USART1->CR1 = 0x01;

i don´t see any change in CR1 perpheral registers (that i view in STVD window). This works with the other registers.I also remap the usart clk ans tx pin to port A.

 Do i have to inlude some other files or do some more remapping etc. to be able to write in the USART register? 
    This topic has been closed for replies.

    2 replies

    Graduate II
    August 7, 2012
    Posted on August 07, 2012 at 15:37

    Like enabling the USART clock?

    Visitor II
    June 20, 2017
    Posted on June 20, 2017 at 08:58

    I am getting some what of a similar problem. Whatever value I give to the USART_DR register it always takes the value 0xff though the other registers work fine. Even if I give char value to the USART_DR it still takes value 0xff.

    My initialization code is

    void usartinit(void) //usart initialisation (115200 , 8bit , no parity , 1 stop bit

    {

    char X;

    PC_DDR = 0x10;

    PC_CR1 = 0x10;

    X = USART1_SR;

    X = USART1_DR;

    USART1_CR1 = 0x00;

    USART1_CR2 = 0x0C;

    USART1_CR3 = 0x0f;

    USART1_CR4 = 0x03;

    USART1_BRR2 = 0x0A;

    USART1_BRR1 = 0x08;

    }
    Visitor II
    May 16, 2018
    Posted on May 17, 2018 at 00:15

    What was your outcome. I am seeing the same issue. I also saw this with TIM1 registers. I switched to using TIM3 and that was fine.

    Thank you,

    Shawn