?? led_f.c
字號:
#include "snds.h"
#include "std.h"
#include "led_f.h"
/******************************************************
函數名稱: delayMs()
函數功能: ms級延時.
入口參數: counter 需要延時多少個ms.
返 回 值: 無.
備 注: 這個時間只是一個大約時間.
*******************************************************/
void delayMs(uint32 counter)
{
uint32 i;
while(counter--)
{
i = 400; //1ms延時基數.
while(i--)
;
}
}
/******************************************************
函數名稱: ledAllOn()
函數功能: 點亮GPIO上的所有LED.
入口參數: 無.
返 回 值: 無.
備 注:
*******************************************************/
void ledAllOn(void)
{
IOPMOD |= 0xff; //設置GPIO全為輸出方式.
IOPDATA &= ~0xff; //點亮GPIO上的所有LED.
}
/******************************************************
函數名稱: ledAllOff()
函數功能: 滅掉GPIO上的所有LED.
入口參數: 無.
返 回 值: 無.
備 注:
*******************************************************/
void ledAllOff(void)
{
IOPMOD |= 0xff; //設置GPIO全為輸出方式.
IOPDATA |= 0xff; //滅掉GPIO上的所有LED.
}
/******************************************************
函數名稱: ledRun()
函數功能: 以跑馬燈的方式循環點亮GPIO上的LED.
入口參數: counter 循環所有燈的次數.
返 回 值: 無.
備 注:
*******************************************************/
void ledRun(int counter)
{
uint8 j;
j = 0;
if(counter <= 0) return;
counter = counter*8;
while(counter--)
{
IOPDATA |= 0xff; //先讓led全部熄滅.
delayMs(100); //延時0.2ms.
IOPDATA = ~(0x01<<j);
delayMs(100); //延時0.2ms.
j++;
j %= 8;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -