在Microchip SAM R34上串行

问题描述

在使用ATMEL Studio 7在SAM R34芯片上进行串行通信的过程中,我度过了一段糟糕的时光。 通常,当我询问时会收到“检查示例”的响应(扰流板警报,没有示例)

无论如何,我从一个示例中获得的代码是:

#include <asf.h>
#include "sio2host.h"
#include "lorawan_app.h"
#include "pulse_counter.h"
#include "serial.h"

struct usart_module usart_instance;



int main(void)
{
    system_init() ;
    delay_init() ;
    delay_ms(5) ;
    Enable_global_interrupt() ;
    sio2host_init() ;
    pulse_counter_init() ;
    lorawan_app_init() ;
    lorawan_app_configuration(ISM_JPN923) ;
    lorawan_app_join() ;
    
    
        struct usart_config config_usart;
        usart_get_config_defaults(&config_usart);
        #if(SAMR30E)
        {
            config_usart.baudrate    = 9600;
            config_usart.mux_setting = CDC_SERCOM_MUX_SETTING;
            config_usart.pinmux_pad0 = CDC_SERCOM_PINMUX_PAD0;
            config_usart.pinmux_pad1 = CDC_SERCOM_PINMUX_PAD1;
            config_usart.pinmux_pad2 = CDC_SERCOM_PINMUX_PAD2;
            config_usart.pinmux_pad3 = CDC_SERCOM_PINMUX_PAD3;
            while (usart_init(&usart_instance,CDC_MODULE,&config_usart) != STATUS_OK) {
            }
        }
        #else
        {
            config_usart.baudrate    = 9600;
            config_usart.mux_setting = EDBG_CDC_SERCOM_MUX_SETTING;
            config_usart.pinmux_pad0 = EDBG_CDC_SERCOM_PINMUX_PAD0;
            config_usart.pinmux_pad1 = EDBG_CDC_SERCOM_PINMUX_PAD1;
            config_usart.pinmux_pad2 = EDBG_CDC_SERCOM_PINMUX_PAD2;
            config_usart.pinmux_pad3 = EDBG_CDC_SERCOM_PINMUX_PAD3;
            while (usart_init(&usart_instance,EDBG_CDC_MODULE,&config_usart) != STATUS_OK) {
            }
        }
        #endif
        usart_enable(&usart_instance);
        
    
    usart_serial_putchar(usart_inst_t,'a');
    while(1)
    {
        SYstem_RunTasks() ;
        lorawan_app_sleep() ;
    }
}

我在CDC_SERCOM_MUX_SETTING;和每条CDC_SERCOM_PINMUX_PAD0; 0-3行中都遇到错误。 该代码直接来自该指南:https://asf.microchip.com/docs/latest/sam0.drivers.tcc.unit_test.saml21_xplained_pro/html/asfdoc_sam0_sercom_usart_basic_use_case.html 但是,这似乎无效。

关于如何使它起作用的任何想法?非常感谢!

解决方法

在atmel studio 7中查看示例项目“ SAM USART驱动程序-SAM R34 Xplained Pro的单元测试”,希望对您有所帮助。