Hi,
I'd like to use USART0 of my ATSAME70Q21 as SPI master but It does not work.
I'm using CMSIS driver (Keil). If I use UASRT as UART it works well.
The setting for SPI master is this:
case USART_0: Usart[Ch].pDrv->Initialize( Usart0Callback ); Usart[Ch].pDrv->PowerControl( ARM_POWER_FULL ); Usart[Ch].pDrv->Control( ARM_USART_MODE_SYNCHRONOUS_MASTER | ARM_USART_CPOL0 | ARM_USART_CPHA0 | ARM_USART_DATA_BITS_8, BaudRate ); Usart[Ch].pDrv->Control( ARM_USART_SET_DEFAULT_TX_VALUE, 0xFFFF );
Usart[Ch].pDrv->Control( ARM_USART_CONTROL_TX, 1 ); Usart[Ch].pDrv->Control( ARM_USART_CONTROL_RX, 1 ); break;
while(1)
Usart[Ch].pDrv->Send( pData, Size );
Best regards
LB
Hi Milorad,
I think a workaroud is necessay in front of a macro problem as this: no work completely the SPI and the UART work well in TX ISR but when I receive bytes during tx the driver goes in error.
Luca Bernabei
Hi Luca,
I'd suggest you dig into the driver and fix the things that are not working for you since a lot of functionality is already available.It is, however, not as easy as it sounds as implementing drivers or debugging them is always time consuming.
Good luck!
Best regards, Milorad