Atmel SAM4S-EK USART SPI support

goldie13 wrote on Monday, June 24, 2013:


I want to work with USART1 in SPI mode.
I took the freertos_spi API and adjusted the functions: init, write, read to work with USART registers and addresses…
I also took the local_spi_handler and adjusted it to work for the USART, so now, I want to call it from USART1_Handler, the same way it does from the SPI_Handler.
How do I make USART1_Handler to be called upon interrupts – I believe this is what I need to do…right?


davedoors wrote on Monday, June 24, 2013:

From your post I’m assuming you are using the FreeRTOS ASF drivers as a template.

If I understand you correctly you are just wanting to install USART1_Handler in the vector table, so it is called automatically when USART1 interrupt fire. Is this right?

If so, and you are using Atmel Studio with ASF? You should have a file called exceptions.c that lists the default names for all the interrupt handlers. The names will be declared as weak symbols so all you need to do is provide your own version of the Handler function and that will get used in place of the weak symbol.

In other words, if you find the default name for the USART1 interrupt handler is called USART1_Handler(), which seems likely, then all you need to do is provide a function called USART1_Handler() for it to get used. Obviously it will only get called if you have enabled the interrupt in the USART.