[原创] "SAM D21 开发板试用心得"+MDK开发初识

我爱下载   2014-9-13 16:36 楼主
初识SAMD21Blinky
拿到板子的第一个感觉就是做工相当不错,马上上网下载相关文档,数据手册那是必不可少了。
上图板子靓照。
IMAG0546.jpg
1
IMAG0547.jpg
2
由于一直使用MDK,所以这个也不例外,不过看了一下MDK4.73居然不知道SAMD21的主控,没办法了,只好上MDK5了。安装MDK5后,还要使用package installer工具安装Keil::SAMD21_DFP,来支持我们的SAMD21的开发。
package.jpg
安装完成后,我就可以开始我们的第一个例子程序了,著名的LED闪灯程序Blinky
第一步,创建MDK工程,器件选择
这个和MDK4.73确实不一样了,看看多了一个keil.samd21_dfp.1.0.0的设备包,我们打开SAMD21 Series中的ATSAMD21J,并且选中下面的ATSAMD21J18A,这个是我们这块开发板的主控芯片。
target.jpg
第二步,工程模块支持
这里面是MDK5的新内容了,MDK4可没有这些东西。根据自己需要往工程中加吧,我这里面只选了途中这几项,其实只选Startup好像就可以了。
manage.jpg
第三步,添加代码
工程建立好,添加main.c文件,如图所示
keil.jpg
打开main.c,添加我们自己的代码。此处值得一提的是,根据手册描述,SAMD21上电复位后,时钟自动初始化为内部8MHz时钟,并通过GCLK提供给CPU和总线使用,PM已经使能PORT的时钟驱动,所以对于我们来说就需要设置LED的相关驱动引脚就可以了。
贴上代码,提一下,LED使用的是PB30.
void LED_Init(void)
{
        PORT->Group[1].DIRSET.reg = PORT_PB30;
        PORT->Group[1].OUTSET.reg = PORT_PB30;
}
void LED_ON(void)
{
        PORT->Group[1].OUTCLR.reg = PORT_PB30;
}
void LED_OFF(void)
{
        PORT->Group[1].OUTSET.reg = PORT_PB30;
}
SAMD21一共有三个口ABC,其中PORT->Group[1]就代表B口,所以我们的所有操作都是针对Group[1]来的。
初始化中,要设置PB30为输出
        PORT->Group[1].DIRSET.reg = PORT_PB30;
LED灯为低电平有效,所以点亮LED,应该将PB30置低。
        PORT->Group[1].OUTCLR.reg = PORT_PB30;
熄灭LED灯,要将PB30置高。
        PORT->Group[1].OUTSET.reg = PORT_PB30;
添加main主函数。
int main(void)
{
        LED_Init();
        while(1)
        {
                LED_ON();
                delay(10000);
                LED_OFF();
                delay(100000);
        }
}
第四步,编译链接,下载运行
看看运行效果吧,小灯是不是欢快再闪啊。
文档
samd21 blinky.doc (403 KB)
(下载次数: 274, 2014-9-13 16:34 上传)

回复评论 (15)

楼主是哪个地区的,什么快递啊
我的还没有到呢
点赞  2014-9-13 16:38
黑龙江,好像是圆通
点赞  2014-9-13 16:40
引用: wgsxsm 发表于 2014-9-13 16:38
楼主是哪个地区的,什么快递啊
我的还没有到呢

我刚发完帖子你就占了沙发,这也太快了吧
点赞  2014-9-13 16:41
后面还准备在MDK下实现PWM驱动,慢慢在研究
点赞  2014-9-13 16:42
楼主速度真快,写的不错,赞一个!
努力
点赞  2014-9-13 16:49
引用: bruce_helen 发表于 2014-9-13 16:49
楼主速度真快,写的不错,赞一个!

呵呵,谢谢你的动力。
楼主这头像。。。。。。。
点赞  2014-9-13 16:50
呵呵,我的也刚到
尽善尽美
点赞  2014-9-13 16:51
引用: hh376158101 发表于 2014-9-13 16:51
呵呵,我的也刚到

好像很长时间以前申请的,今天快递打电话,不知道是这个,小激动了一下。
点赞  2014-9-13 16:52
引用: 我爱下载 发表于 2014-9-13 16:50
呵呵,谢谢你的动力。
楼主这头像。。。。。。。

这头像搞大家没心思搞开发了,为了大家着想,刚换了。
努力
点赞  2014-9-13 17:00
引用: 我爱下载 发表于 2014-9-13 16:41
我刚发完帖子你就占了沙发,这也太快了吧

不好意思啊,等板子心切

点赞  2014-9-13 17:16
引用: bruce_helen 发表于 2014-9-13 17:00
这头像搞大家没心思搞开发了,为了大家着想,刚换了。

来晚一步,没有看到啊

点赞  2014-9-13 17:17
引用: wgsxsm 发表于 2014-9-13 17:17
来晚一步,没有看到啊


努力
点赞  2014-9-13 21:33
引用: bruce_helen 发表于 2014-9-13 17:00
这头像搞大家没心思搞开发了,为了大家着想,刚换了。

呵呵,
点赞  2014-9-15 11:07
用keil编写atmel的例程真的好难找,谢谢楼主了。
点赞  2017-9-29 09:28

louzhu haoren

点赞  2021-4-10 21:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复