您的位置 首页 产品

瑞萨单片机程序1

SH-stick串口仿真器,瑞萨单片机的学习,还是最简单的程序开始,led的亮灭,按键控制,相当C语言的Helloworld!程序包括以下几个部分:系…

SH-stick串口仿真器,瑞萨单片机的学习,仍是最简略的程序开端,led的亮灭,按键操控,适当C言语的 Hello world ! 程序包含以下几个部分:体系时初始化(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

#include “iodefine.h”
#include “machine.h”

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

InitClock( ); //初始化时钟
InitPort( ); //初始化端口功用
InitLED(); //初始化LED端口
InitKey(); //初始化按键中止(IRQ0)

while(1)
{
if(INTC.IRQSR.BIT.IRQ0F==1) //判别有无IRQ0下降沿中止发生
{
INTC.IRQSR.BIT.IRQ0F=0; //假如发生中止,铲除中止标志
if(INTC.IRQSR.BIT.IRQ0F==0) //再次读中止标志,保证铲除中止标志后再做下一步动作
{
Flaled();
}}

/*/
VOID Flaled( )
{
PE.DRL.WORD = 0x05FF; // 一切LED点亮
Delay(3000);
PE.DRL.WORD = 0xFA20; // 关一切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作为内部时钟,运用24MHz作为MTU2的时钟
}

/*

//
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; //设定IRQ0的中止优先级
}

#ifdef __cplusplus
void abort(void)
{

}
#endif

#renesas单片机

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/263728.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部