打印
[技术问题解答]

KL25Z,灯LED闪烁,主函数中那7行代码意思?(已解决)

[复制链接]
1801|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 FSL_TICS_A 于 2014-5-5 13:03 编辑

芯片KL25Z128K,编译软件CW10.6,控制红绿蓝灯LED闪烁中,那7行代码是什么意思?
主函数:
int main(void)
{
  LDD_TDeviceData *BLUE_DeviceData;
  PE_low_level_init();
  PORTB_GPCLR=0X000F0107;
  BLUE_DeviceData= BLUE_Init((LDD_TUserData *)NULL) ;
  
  GREEN_SetVal(GREEN_DeviceData);
  RED_SetVal(RED_DeviceData);
  BLUE_SetVal(BLUE_DeviceData);
  while(1)
  {
   。。。。。。
  }
}


问题补充:
我只知道让灯发光,需要3步骤
1.使能GPIO端口时钟
2.PCR使能引脚的服用的GPIO功能
3.PDDR寄存器设置引脚的数据方向为输出
4.PDOR设置输出的数据值为0或者1

上面代码与下面问题补充,有哪些是相对应的?


相关帖子

沙发
FSL_TICS_ZJJ| | 2014-4-29 13:42 | 只看该作者
本帖最后由 FSL_TICS_ZJJ 于 2014-4-29 13:44 编辑

楼主你好,先给你提个小建议,你下次添加代码的时候,直接如下图操作,这样看起来更清新。


int main(void)
{
LDD_TDeviceData *BLUE_DeviceData;
PE_low_level_init();
PORTB_GPCLR=0X000F0107;
BLUE_DeviceData= BLUE_Init((LDD_TUserData *)NULL) ;

GREEN_SetVal(GREEN_DeviceData);
RED_SetVal(RED_DeviceData);
BLUE_SetVal(BLUE_DeviceData);
while(1)
{
。。。。。。
}
}

使用特权

评论回复
板凳
FSL_TICS_ZJJ| | 2014-4-29 13:47 | 只看该作者
楼主,你的第7行代码是这个吗?GREEN_SetVal(GREEN_DeviceData);
这个是GREEN灯IO口置位,你的1,2,3在初始化代码中,即BLUE_Init((LDD_TUserData *)NULL) ;
你可以点进去看看,第4步就是你控制的SETVAL,或者CLRVAL。

使用特权

评论回复
地板
870205766|  楼主 | 2014-4-29 15:51 | 只看该作者
FSL_TICS_ZJJ 发表于 2014-4-29 13:47
楼主,你的第7行代码是这个吗?GREEN_SetVal(GREEN_DeviceData);
这个是GREEN灯IO口置位,你的1,2,3在初始 ...

我的意思是每一行的代码是什么意思,
//1..
//2.
//3
...
//7.

使用特权

评论回复
5
FSL_TICS_ZJJ| | 2014-4-29 15:58 | 只看该作者
楼主,代码修改如下:
int main(void)
{
  LDD_TDeviceData *BLUE_DeviceData; //定义IO接口 PE专用
  PE_low_level_init(); //MCU 芯片初始化
  BLUE_DeviceData= BLUE_Init((LDD_TUserData *)NULL) ;//IO口,即LED对应的IO口初始化
  
  GREEN_SetVal(GREEN_DeviceData); //置位GREEN小灯对应的IO口,即关闭GREEN小灯
  RED_SetVal(RED_DeviceData);//置位RED小灯对应的IO口,即关闭RED小灯
  BLUE_SetVal(BLUE_DeviceData);//置位BLUE小灯对应的IO口,即关闭BLUE小灯

  while(1)
  {
   。。。。。。
  }
}
其实,你如果只是点小灯,可以不需要弄PE代码的,因为PE代码比较复杂。
你可以直接对PORT,GPIO操作。

使用特权

评论回复
6
870205766|  楼主 | 2014-4-29 17:44 | 只看该作者
FSL_TICS_ZJJ 发表于 2014-4-29 15:58
楼主,代码修改如下:
int main(void)
{

PE_low_level_init();//芯片初始化
请问上面一行PE代码是做什么的,具体在芯片的哪些方面初始化?芯片初始化是不是大一点的工程都需要芯片初始化呀?

我现在做的就是想把,单片机的GPIO,UART,DMA,I2C...等各个模块做好,为以后做工程垫下基础

使用特权

评论回复
7
FSL_TICS_Robin| | 2014-4-30 10:57 | 只看该作者
870205766 发表于 2014-4-29 17:44
PE_low_level_init();//芯片初始化
请问上面一行PE代码是做什么的,具体在芯片的哪些方面初始化?芯片初 ...

通常如果PE使能了自动初始化模块,就会添加模块初始化函数。
如果用到了模块,会在那儿开模块时钟 clock gate。
等等

PE_low_level_init();具体做了什么你可以右键跟踪过去查看

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

103

帖子

1

粉丝