AT32UC3L064 - USART

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all.

Tell why I can not correctly transfer the data from AT32UC3L064 to the computer in the terminal.
Earlier on others of the controller all correctly worked, on new controllers the data with strange mistakes.
For example I transfer(pass) the data 110.223.223.210. 57
At adjustments of transfer of 8 bits I receive in the terminal - 238.223.223.210.185
At adjustments of transfer of 9 bits I receive in the terminal - 110. 95. 95. 82. 57

Strange changes of high bit. Are correctly transferred or data up to 128, or on the contrary after 128, and up to 128 with mistakes.

//code-------------------------------------------

static const gpio_map_t USART_GPIO_MAP =
{{AVR32_USART1_TXD_0_0_PIN, AVR32_USART1_TXD_0_0_FUNCTION} };

static const usart_options_t USART_OPTIONS =
{ .baudrate = 57600,
.charlength = 8,//9,
.paritytype = USART_NO_PARITY,
.stopbits = USART_1_STOPBIT,
.channelmode = USART_NORMAL_CHMODE };

gpio_enable_module(USART_GPIO_MAP, sizeof(USART_GPIO_MAP) / sizeof(USART_GPIO_MAP[0]));

usart_init_rs232_tx_only(&AVR32_USART1, &USART_OPTIONS, PBACLK_FRQ);

 

The AT32UC3L064 is connected to a computer through a virtual USB-COM on-chip pl2303. It uses only 3 wires - RX, TX, GND.

Last Edited: Thu. Jan 21, 2016 - 08:56 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The AT32UC3L064 is connected to a computer through a virtual USB-COM on-chip pl2303. It uses only 3 wires - RX, TX, GND.

Last Edited: Thu. Jan 21, 2016 - 09:05 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey there anyone home?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Debugging shows a first value is transmitted to the shift register without change, the correct value of 110. But transmitted from the microcontroller has changed.

Troubling assembler instruction st.w

Attachment(s):