ATSAM E70 missing LIN support for USART Mode Register

1 post / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When looking at the datasheet for SAM E70, it shows the support for LIN. It says to set USART_MR.USART_MODE = 0xA or  0xB, depending on weather it is a Master or Slave. 

 

USART_MR.USART_MODE from the datasheet. 

0x0 NORMAL 

0x1 RS485

0x2 HW_HANDSHAKING

0x3 MODEM 

0x4 IS07816_T_0 

0x6 IS07816_T_1 

0x8 IRDA IrDA

0x9 LON

0xA LIN_MASTER

0xB LIN_SLAVE

0xE SPI_MASTER

0xF SPI_SLAVE

 

When looking at the USART Mode register in the usart.h file, these are the definitions for that register.

 

/* -------- US_MR : (USART Offset: 0x0004) Mode Register -------- */
#define US_MR_USART_MODE_Pos 0
#define US_MR_USART_MODE_Msk (0xfu << US_MR_USART_MODE_Pos) /**< \brief (US_MR) USART Mode of Operation */
#define US_MR_USART_MODE(value) ((US_MR_USART_MODE_Msk & ((value) << US_MR_USART_MODE_Pos)))
#define   US_MR_USART_MODE_NORMAL (0x0u << 0) /**< \brief (US_MR) Normal mode */
#define   US_MR_USART_MODE_RS485 (0x1u << 0) /**< \brief (US_MR) RS485 */
#define   US_MR_USART_MODE_HW_HANDSHAKING (0x2u << 0) /**< \brief (US_MR) Hardware Handshaking */
#define   US_MR_USART_MODE_MODEM (0x3u << 0) /**< \brief (US_MR) Modem */
#define   US_MR_USART_MODE_IS07816_T_0 (0x4u << 0) /**< \brief (US_MR) IS07816 Protocol: T = 0 */
#define   US_MR_USART_MODE_IS07816_T_1 (0x6u << 0) /**< \brief (US_MR) IS07816 Protocol: T = 1 */
#define   US_MR_USART_MODE_IRDA (0x8u << 0) /**< \brief (US_MR) IrDA */
#define   US_MR_USART_MODE_LON (0x9u << 0) /**< \brief (US_MR) LON */
#define   US_MR_USART_MODE_SPI_MASTER (0xEu << 0) /**< \brief (US_MR) SPI master */
#define   US_MR_USART_MODE_SPI_SLAVE (0xFu << 0) /**< \brief (US_MR) SPI Slave */

It is missing LIN_SLAVE and LIN_MASTER. Why is there support for LIN in the datasheet but the software is missing the LIN support for that register?

 

Thanks 

Attachment(s): 

Last Edited: Fri. Aug 6, 2021 - 03:12 PM