您的位置 首页 系统

NEC V850 之 通用输入输出I/O口

编译环境:IARForV8503.81+MiniCube2硬件平台:NECV850ES/FG3D70F3630(D70F3377A)硬件资源:LED端口:P94P10KEY端口:P0…

编译环境:IAR For V850 3.81 + MiniCube2

硬件渠道:NEC V850ES/FG3 D70F3630 (D70F3377A)


硬件资源:

LED端口:P94 P10

KEY端口:P04


在运用V850的管脚做为输入输出I/O口的时分有下面几个过程:

第一步:设置端口形式寄存器(PMCn);

第二步:设置端口方向寄存器(PMn);

第三步:对端口寄存器赋值或许对端口寄存器查询取得输入值(Pn)。

下面是代码:

来自GPIO.c


void GPIO_PortInit(void)
{
PMC9L_bit.no4 = 0 ; // 设置端口为输入输出口形式
PM9L_bit.no4 = 0 ; // 设置端口为输出

PMC1_bit.no0 = 0 ; // 设置端口为输入输出口形式
PM1_bit.no0 = 0 ; // 设置端口为输出

PMC0_bit.no4 = 0 ; // 设置端口为输入输出口形式
PM0_bit.no4 = 1 ; // 设置端口为输入
}

来自 GPIO.h


#ifndef GPIO
#define GPIO 1

/* Includes ——————————————————————*/
#include
#include

/* Exported types ————————————————————*/
/* Exported constants ——————————————————–*/
/* Exported Global variables ————————————————-*/
/* Exported macro ————————————————————*/
#define LED1 (P1_bit.no0)
#define LED2 (P9L_bit.no4)

#define KEY1 (P0_bit.no4)
/* Exported functions ——————————————————- */
void GPIO_PortInit(void);

#endif /* __GPIO_H */

来自main.c


void main(void)
{
WDTM2 = 0x1F ; // 封闭看门狗定时器,进入体系先关看门狗定时器,避免体系进入反常

GPIO_PortInit();

LED1 = 0 ;
LED2 = 1 ;

while(1)
{
if(KEY1 == 0)
{
LED1 = ~LED1;
LED2 = ~LED2;
}
}
}



代码部分清楚明了,我就不再赘述。

这儿的工程形式仍是采用了曾经的方法,用一个大的工程里边包括的system文件夹和BSP文件夹。然后用main.h头文件去包括一切的BSP的子头文件。本工程取名Dream,新的渠道新的愿望。下面上图:

还有需求注意到的是,假如要替换芯片的类型,要在main.h头文件里进行更改包括文件,而且修正option里的芯片型号。由于工程需求调用不同文件夹里的头文件,所以要在option里设置包括途径,在IAR里比在MDK里费事一些,假如移动工程需求更改,设置方位见下图:

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部