打印
[Atmel]

用ASF跑SAMD21程序(6)USART-BASIC

[复制链接]
2559|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2014-12-22 22:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
关于建立ASF的工程:这里不重述,具体请看《用ASF跑SAMD21程序(3)(2)(1)》:


用ASF跑SAMD21程序(1)8位定时器点LED
https://bbs.21ic.com/forum.php?mod=viewthread&tid=850511&extra=page%3D1%26filter%3Dtypeid%

26typeid%3D380%26typeid%3D380


用ASF跑SAMD21程序(2)TCC-BASIC
https://bbs.21ic.com/forum.php?mod=viewthread&tid=850813&extra=page%3D1%26filter%3Dtypeid%

26typeid%3D380%26typeid%3D380


用ASF跑SAMD21程序(3)TCC - Double Buffering & Circular
https://bbs.21ic.com/forum.php?mod=viewthread&tid=851403&extra=page%3D1%26filter%3Dtypeid%

26typeid%3D380%26typeid%3D380



这里选择SERCOM USART


然后点开ASF EXPLOER 选择USARTBASE

然后再根据提示来组成程序:


程序清单如下:


/**
* \file
*
* \brief Empty user application template
*
*/

/**
* \mainpage User Application template doxygen documentation
*
* \par Empty user application template
*
* This is a bare minimum user application template.
*
* For documentation of the board, go \ref group_common_boards "here" for a link
* to the board-specific documentation.
*
* \par Content
*
* -# Include the ASF header files (through asf.h)
* -# Minimal main function that starts with a call to system_init()
* -# Basic usage of on-board LED and button
* -# "Insert application code here" comment
*
*/

/*
* Include header files for all drivers that have been imported from
* Atmel Software Framework (ASF).
*/
#include <asf.h>

void configure_usart(void);
struct usart_module usart_instance;

void configure_usart(void)
{   
         struct usart_config config_usart;
         usart_get_config_defaults(&config_usart);
         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)
          {    }
          usart_enable(&usart_instance);
}



int main (void)
{
        system_init();
        configure_usart();
        uint8_t string[] = "Hello World!\r\n";
        usart_write_buffer_wait(&usart_instance, string, sizeof(string));
        uint16_t temp;
        while (true)
        {
                if (usart_read_wait(&usart_instance, &temp) == STATUS_OK)
                {            while (usart_write_wait(&usart_instance, temp) != STATUS_OK)
                                 {            }
                }
        }
}

相关帖子

沙发
86269838| | 2017-3-18 12:05 | 只看该作者
问个白痴问题,这个程序有没有办法看到结果呢?

使用特权

评论回复
板凳
ddllxxrr|  楼主 | 2017-3-18 18:39 | 只看该作者
86269838 发表于 2017-3-18 12:05
问个白痴问题,这个程序有没有办法看到结果呢?

因为发的时候也许有事就没有拍结果,不过我发出的一定是正常运行的,如假包换

使用特权

评论回复
地板
86269838| | 2017-3-19 07:33 | 只看该作者
我肯定相信版大能运行。我的意思是,这个光是把程序烧进去,我怎么验证它对不对。总要有个跟人能够交互的界面吧,像前面的例子至少有个灯,而且我可以拿示波器测灯的引脚。这个就不太清楚怎么弄了。
本人初学,最近问了好几个问题,见谅啊。

使用特权

评论回复
5
86269838| | 2017-3-19 13:09 | 只看该作者
这个问题解决了,用EDBG的虚拟COM可以用atmel studio的data visualizer读回来

使用特权

评论回复
6
ddllxxrr|  楼主 | 2017-3-19 20:31 | 只看该作者
86269838 发表于 2017-3-19 13:09
这个问题解决了,用EDBG的虚拟COM可以用atmel studio的data visualizer读回来

用别的串口软件也可以

使用特权

评论回复
7
lklklkj| | 2017-7-18 14:24 | 只看该作者
EDBG_CDC_SERCOM_MUX_SETTING;
EDBG_CDC_SERCOM_PINMUX_PAD0;
EDBG_CDC_SERCOM_PINMUX_PAD1;
EDBG_CDC_SERCOM_PINMUX_PAD2;
EDBG_CDC_SERCOM_PINMUX_PAD3;为什么这些都是未定义阿??????

使用特权

评论回复
8
lklklkj| | 2017-7-18 14:25 | 只看该作者
EDBG_CDC_SERCOM_MUX_SETTING;
EDBG_CDC_SERCOM_PINMUX_PAD0;
EDBG_CDC_SERCOM_PINMUX_PAD1;
EDBG_CDC_SERCOM_PINMUX_PAD2;
EDBG_CDC_SERCOM_PINMUX_PAD3;为什么这些都是未定义阿??????

使用特权

评论回复
9
为何这般累| | 2017-11-8 11:10 | 只看该作者
ddllxxrr 发表于 2017-3-19 20:31
用别的串口软件也可以

为什么我读出来是乱码呢?显示不出 hello world

使用特权

评论回复
10
ddllxxrr|  楼主 | 2017-11-8 17:35 | 只看该作者
为何这般累 发表于 2017-11-8 11:10
为什么我读出来是乱码呢?显示不出 hello world

波特率不对

使用特权

评论回复
11
为何这般累| | 2017-11-9 09:47 | 只看该作者

设置了9600啊

使用特权

评论回复
12
为何这般累| | 2017-11-13 14:28 | 只看该作者
删除其他模块的代码,只留下串口代码就可以显示hello world了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6954

帖子

67

粉丝