⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo4.c

📁 FS4510开发板示例程序demo4 压缩包内含FS4510开发板LCD驱动程序与定时器程序 文件说明 demo4.apj 为 SDT2.51 的项目文件 init.s 为初始化文件
💻 C
字号:
#include "include\timer.h"
#include "include\sysconf.h"
#include "include\isr.h"
#include "include\lcd.h"


#define led4 0x1
#define led5 0x2
#define led6 0x4
#define led7 0x8

#define off 0
#define on 1
#define stay 2
#define toggle 3

#define alloff 0xff
#define allon 0x0

void WaitTime_ms_ok(int TIMER_DEV, int t);
void ledshow(char led4pm, char led3pm, char led2pm, char led1pm);

void wutm0isr(void);
void wutm1isr(void);

void C_Entry(void)
{
	 
	IOPMOD=0x3fff;
	IOPDATA=allon;

		
	LCDInit();
	LCDTest();
	
	WaitTime_ms_ok(TIMER_DEV0, 3000);
	IOPDATA=alloff;


	while(1)
	{


		ledshow(stay, stay, off, on);
		l2Print("timer0 running","timer1 stop");
		WaitTime_ms_ok(TIMER_DEV0, 1000);
 

		ledshow(stay, stay, on, off);
		l2Print("timer0 stop","timer1 running");
		WaitTime_ms_ok(TIMER_DEV1, 1500);

	} 
}

void ledshow(char led7pm, char led6pm, char led5pm, char led4pm)
{
	if(led4pm==0)			IOPDATA |=led4;			//clear the bit 1->  off led1
	else if(led4pm==1)		IOPDATA &=~led4;			//clear the bit 0->  on led1
	else if(led4pm==3)		IOPDATA ^=led4;			//toggle  the bit

	if(led5pm==0)			IOPDATA |=led5;			//clear the bit 1->  off led2
	else if(led5pm==1)		IOPDATA &=~led5;			//clear the bit 0->  on led2
	else if(led5pm==3)		IOPDATA ^=led5;			//toggle  the bit

	if(led6pm==0)			IOPDATA |=led6;			//clear the bit 1->  off led3
	else if(led6pm==1)		IOPDATA &=~led6;			//clear the bit 0->  on led3
	else if(led6pm==3)		IOPDATA ^=led6;			//toggle  the bit

	if(led7pm==0)			IOPDATA |=led7;			//clear the bit 1->  off led4
	else if(led7pm==1)		IOPDATA &=~led7;			//clear the bit 0->  on led4
	else if(led7pm==3)		IOPDATA ^=led7;			//toggle  the bit
}


void WaitTime_ms_ok(int TIMER_DEV, int t)
{
    int rDATA, xDATA;;

    	rDATA= t_data_ms(t); 
	xDATA=0xffffffff-rDATA;
    
    if(TIMER_DEV) {
           TDATA1 = 0xffffffff;    /* Clear Timer data register */
           Timer1Start();
           while(TCNT1 >xDATA);
           Timer1Stop();

    }
    else {
           TDATA0 = 0xffffffff;    /* Clear Timer data register */
           Timer0Start();
           while(TCNT0 >xDATA);
           Timer0Stop();
    }
}


void wutm0isr(void)
{
		Clear_PendingBit(nTIMER0_INT) ;
}

void wutm1isr(void)
{
		Clear_PendingBit(nTIMER1_INT) ;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -