下面搭建开发环境,创建工程文件,并驱动LED指示灯
一、搭建环境
我使用的KEIL开发环境,从官网下载pack包文件。
地址:http://www.autochips.com/jk/MCU1 ... =531&typeid=225
下载完成后安装。
二、创建工程文件
pack包安装完成后,开始创建工程文件。
2.1、选择芯片型号
2.2、添加组件
2.3、创建的项目文件
2.4、增加main.c文件
2.5、对环境进行设置
2.6、选择编译器
2.7、编译工程
通过上面的步骤,创建项目的工程文件。
三、程序
创建好工程文件后,下面增加用户代码。我是要驱动板卡上面的三个LED灯,先来看下硬件图。
3.1、LED硬件电路图
三个LED灯连接PC3,PC4和PC5端口。
3.2、驱动代码
led.c
#include "ac78xx_gpio.h"
#include "led.h"
#include "gpio.h"
void Init_Led(void)
{
GPIO_SetDir(LED1_PIN, GPIO_OUTPUT);
GPIO_SetDir(LED2_PIN, GPIO_OUTPUT);//ÉèÖÃLEDÒý½ÅΪÊä³ö
GPIO_SetDir(LED3_PIN, GPIO_OUTPUT);
GPIO_SetFunc(37, 0);
GPIO_SetFunc(36, 0);
GPIO_SetFunc(35, 0);
LED1_ON;
LED2_ON;
LED3_ON;
}
void test(void)
{
uint32_t i;
LED1_ON;
LED2_OFF;
LED3_OFF;
for(i=0;i<0x1fffff;i++);
LED1_OFF;
LED2_ON;
LED3_OFF;
for(i=0;i<0x1fffff;i++);
LED1_OFF;
LED2_OFF;
LED3_ON;
for(i=0;i<0x1fffff;i++);
LED1_OFF;
LED2_OFF;
LED3_OFF;
for(i=0;i<0x1fffff;i++);
}
led.h#ifndef LED_H_
#define LED_H_
#define LED1_PIN (GPIO_PC3)
#define LED2_PIN (GPIO_PC4)
#define LED3_PIN (GPIO_PC5)
#define LED1 (GPIOC_OUT(3))
#define LED2 (GPIOC_OUT(4))
#define LED3 (GPIOC_OUT(5))
#define LED1_ON do{LED1 = 1;}while(0)
#define LED1_OFF do{LED1 = 0;}while(0)
#define LED1_TOGGLE do{LED1 = !LED1;}while(0)
#define LED2_ON do{LED2 = 1;}while(0)
#define LED2_OFF do{LED2 = 0;}while(0)
#define LED2_TOGGLE do{LED2 = !LED2;}while(0)
#define LED3_ON do{LED3 = 1;}while(0)
#define LED3_OFF do{LED3 = 0;}while(0)
#define LED3_TOGGLE do{LED3 = !LED3;}while(0)
void Init_Led(void);
void test(void);
#endif
main.c
#include "led.h"
int main(void)
{
Init_Led();
while(1)
{
test();
}
}
3.3、驱动说明
这个三个LED灯是通过三极管驱动的,刚开始按照默认端口为GPIO口调试,LED驱动不起来,通过手册将这三个口切换到功能0上,可以正常驱动。
手册上的资料:
修改的程序地方
四、程序执行
|