[Atmel] 用SAM-BA或JLINK跑ATSAM4E16的程序(1)LED

[复制链接]
1484|1
 楼主| ddllxxrr 发表于 2015-10-26 22:50 | 显示全部楼层 |阅读模式
本帖最后由 ddllxxrr 于 2015-10-31 22:02 编辑

本人搞了块SAM4E16的开发板,由于同Atmle的开发板有些出入,管脚不一样,我决定修收一下跑一下《ARM Cortex-M4微控制器原理与应用--------基于Atmel SAM4》

由于基本是例程,又考虑操作方便,我这次用SAM-BA 来跑一下程序。

SAM-BA很好下载

就是装驱动遇点麻烦,刚开始说找到驱动的但找不到相关的文件,后来我又让它自己找,它给我找了一个bossa





点其属性,波特率改为115200,因为我这个板子要求这个速率下载。

这时可在板子上短路下擦除跳线,在USB转串识别情况下,在跑程序之前把它拨去。

打开SAM-BA,选对串口和芯片类型:



烧入的过程是选调入程序,点发送,然后再点执行,见下图的1,2。


下完后移开探险跳线则程序运行

程序是在Studio7中开发的,由于本程不用库所以选不用库那一项




由于我用的开发板同书上的管脚相同所以不用改动即可点亮LED。

运行结果是LED闪烁

程序如下:
  1. #include "sam.h"
  2. /*[延时子函数声明]*/
  3. void Delay(int num)
  4. {        for (volatile int i = 0; i < 1000 * 1024 * num; ++i );
  5. }
  6. /*[主程序]*/
  7. int main(void)
  8. {   SystemInit();                    /*初始化*/
  9.         PIOA->PIO_PER = (uint32_t)0x01;  /* 让PIO控制器直接控制PA0引脚 PIO 使能 */
  10.         PIOA->PIO_OER = (uint32_t)0x01;  /* PIO 输出使能 */
  11.         PIOA->PIO_OWER = (uint32_t)0x01; /* PIO 输出写使能 */
  12.         while (1)
  13.         {   Delay(2);                        /*延迟*/
  14.                 PIOA->PIO_SODR = (uint32_t)0x01; /* 设置PA0引脚为高电平,灯灭 */
  15.                 Delay(2);                        /*延迟*/
  16.                 PIOA->PIO_CODR = (uint32_t)0x01; /* 设置PA0引脚为低电平,灯亮 */
  17.         }
  18. }









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
HIWEI 发表于 2019-5-14 16:59 | 显示全部楼层
请问SAM4E16的开发板usb连接上电脑后端口没显示,amtel studio 也看不到开发板是怎么回事
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

2404

主题

7001

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部