?? lpld_breathing.c
字號:
/*
* 測試硬件平臺: LPLD_K60 Card
* 版權所有: 北京拉普蘭德電子技術有限公司
* 網絡銷售: http://laplenden.taobao.com
* 公司門戶: http://www.lpld.cn
*
* 說明: 本工程基于Kintis K60開源底層開發包開發,
* 所有開源驅動代碼均在"LPLD"文件夾下,調用說明見文檔[#LPLD-003-N]
*
* File: LPLD_Breathing.c
* Purpose: 呼吸燈效果演示,PIT定時中斷和GPIO模塊綜合例程
*
* LPLD_K60 Card 硬件配置說明:
* LED: D1~D8分別連接到PortD8~15
*
*
*/
#include "common.h"
#include "HAL_GPIO.h"
#include "HAL_PIT.h"
extern int periph_clk_khz;
uint16_t cnt=0;
uint16_t pit0cnt=0;
uint16_t pit0cnt2=0;
uint16_t led_ld[8]={0};
uint16_t led_lds[27]={0,0,5,10,20,30,50,80,130,200,130,80,50,30,20,10,5,0,0,5,10,20,30,50,80,130,200};
//函數聲明
void init_gpio(void);
void pit_isr0();
void pit_isr1();
/********************************************************************/
void main (void)
{
init_gpio();
LPLD_PIT_Init(0, 100000, pit_isr0);
LPLD_PIT_Init(1, 100, pit_isr1);
while(1)
{
}
}
/*
* 初始化LPLD_K60 Card上的GPIO
*
* PTD8~PTD15 - D1~D8
*
*/
void init_gpio()
{
// 配置 PTD8~PTD15 為GPIO功能,方向為輸出
LPLD_GPIO_Init(PORTD_BASE_PTR, 8, 1, 1, 0);
LPLD_GPIO_Init(PORTD_BASE_PTR, 9, 1, 1, 0);
LPLD_GPIO_Init(PORTD_BASE_PTR, 10, 1, 1, 0);
LPLD_GPIO_Init(PORTD_BASE_PTR, 11, 1, 1, 0);
LPLD_GPIO_Init(PORTD_BASE_PTR, 12, 1, 1, 0);
LPLD_GPIO_Init(PORTD_BASE_PTR, 13, 1, 1, 0);
LPLD_GPIO_Init(PORTD_BASE_PTR, 14, 1, 1, 0);
LPLD_GPIO_Init(PORTD_BASE_PTR, 15, 1, 1, 0);
}
/*
* PIT0中斷服務子程序
*
* 該程序每100毫秒觸發一次,不用清標志位,因為已經在底層處理了。
*
*/
void pit_isr0()
{
uint8_t i;
int16_t lds;
if(pit0cnt==10)
{
if(pit0cnt2<1)
{
pit0cnt2++;
return;
}else{
pit0cnt2=0;
}
}
else if(pit0cnt>17 && pit0cnt<25)
{
pit0cnt++;
return;
}else if(pit0cnt==25)
{
pit0cnt=0;
}
for(i=0;i<8;i++)
{
lds = led_lds[pit0cnt]-25*i;
if(lds<0)
lds=0;
led_ld[i] = lds;
}
pit0cnt++;
}
/*
* PIT1中斷服務子程序
*
* 該程序每1毫秒觸發一次,不用清標志位,因為已經在底層處理了。
*
*/
void pit_isr1()
{
uint8_t i;
for(i=0;i<8;i++)
{
if(cnt>=led_ld[i])
LPLD_GPIO_Set_b(PTD_BASE_PTR, i+8, 1);
else
LPLD_GPIO_Set_b(PTD_BASE_PTR, i+8, 0);
cnt++;
}
if(cnt==200)
cnt=0;
}
/********************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -