本帖最后由 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闪烁
程序如下:
#include "sam.h"
/*[延时子函数声明]*/
void Delay(int num)
{ for (volatile int i = 0; i < 1000 * 1024 * num; ++i );
}
/*[主程序]*/
int main(void)
{ SystemInit(); /*初始化*/
PIOA->PIO_PER = (uint32_t)0x01; /* 让PIO控制器直接控制PA0引脚 PIO 使能 */
PIOA->PIO_OER = (uint32_t)0x01; /* PIO 输出使能 */
PIOA->PIO_OWER = (uint32_t)0x01; /* PIO 输出写使能 */
while (1)
{ Delay(2); /*延迟*/
PIOA->PIO_SODR = (uint32_t)0x01; /* 设置PA0引脚为高电平,灯灭 */
Delay(2); /*延迟*/
PIOA->PIO_CODR = (uint32_t)0x01; /* 设置PA0引脚为低电平,灯亮 */
}
}
|