新聞中心

瑞薩單片機(jī)程序1

作者: 時(shí)間:2016-11-20 來源:網(wǎng)絡(luò) 收藏

SH-stick串口仿真器,瑞薩單片機(jī)的學(xué)習(xí),還是最簡單的程序開始,led的亮滅,按鍵控制,相當(dāng)C語言的 Hello world ! 程序包括以下幾個(gè)部分:系統(tǒng)時(shí)初始化(FRQCR);I/O初始化; LED初始化; 主程序

//#include "typedefine.h"
#ifdef __cplusplus
//#include // Remove the comment when you use ios
//_SINT ios_base::Init::init_cnt; // Remove the comment when you use ios
#endif
#ifdef __cplusplus
extern "C" {
void abort(void);
#endif
void main(void);
#ifdef __cplusplus
}
#endif

本文引用地址:http://butianyuan.cn/article/201611/318628.htm

#include "iodefine.h"
#include "machine.h"

VOID InitClock( );
VOID InitPort( );
VOID InitLED( );
VOID InitKey( );
VOID Delay();
VOID Flaled();
VOID main( ){

InitClock( ); //初始化時(shí)鐘
InitPort( ); //初始化端口功能
InitLED(); //初始化LED端口
InitKey(); //初始化按鍵中斷(IRQ0)


while(1)
{
if(INTC.IRQSR.BIT.IRQ0F==1) //判斷有無IRQ0下降沿中斷產(chǎn)生
{
INTC.IRQSR.BIT.IRQ0F=0; //如果產(chǎn)生中斷,清除中斷標(biāo)志
if(INTC.IRQSR.BIT.IRQ0F==0) //再次讀中斷標(biāo)志,確保清除中斷標(biāo)志后再做下一步動(dòng)作
{
Flaled();
}}

/*/
VOID Flaled( )
{
PE.DRL.WORD = 0x05FF; // 所有LED點(diǎn)亮
Delay(3000);
PE.DRL.WORD = 0xFA20; // 關(guān)所有LED
Delay(3000);
}
//

VOID Delay(unsigned int z)
{
unsigned int i=0,j=0;
for(i=z;i>0;i--)
{
for(j=1000;j>0;j--);
}

}

//
VOID InitClock( ){
CPG.FRQCR.WORD = 0x16DB; //使用48MHz作為內(nèi)部時(shí)鐘,使用24MHz作為MTU2的時(shí)鐘
}

/*

//
VOID InitPort( ){
PFC.PACRL1.BIT.PA2MD = 3; //PA2用作IRQ0輸入功能使用
PFC.PBCRL2.BIT.PB5MD = 1; //PB5用作IRQ3輸入功能使用
PFC.PEIORL.BIT.B5 = 1; //PE5作為輸出口使用
}

//
VOID InitLED( ){
// PE.DRL.WORD = 0x05FF; //LED 全亮
PFC.PEIORL.WORD |= 0xFA00; //PE15,14,13,12,11,9用作通用I/O口
}

//
VOID InitKey( ){
INTC.IRQCR.BIT.IRQ0S = 1; //在下降沿檢測中斷請求
INTC.IPRA.BIT._IRQ0 = 9; //設(shè)定IRQ0的中斷優(yōu)先級(jí)
}

#ifdef __cplusplus
void abort(void)
{

}
#endif

#renesas單片機(jī)


評(píng)論


技術(shù)專區(qū)

關(guān)閉