楼主: FSL_TICS_TIANZH

[求助] 8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

[复制链接]

该用户从未签到

2

主题

46

帖子

0

注册会员

Rank: 2

积分
169
最后登录
2019-6-28
发表于 2013-5-27 14:29:05 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

I2C从模式例程或中断代码
LZ你好,想问一下KL系列的I2C从模式代码怎么写,我按照流程图谢了下,只能实现主机写,主机读总是不行,请问有相关例程吗?
另外请问一下MQX往KL上移植方便吗?
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

14

帖子

0

新手上路

Rank: 1

积分
5
最后登录
1970-1-1
发表于 2013-6-5 14:33:59 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

版主 请教个kl25  TPM问题
TPM模块代码如下(使用PE生成):
LDD_TDeviceData* TU1_Init(LDD_TUserData *UserDataPtr)
{
    TU1_TDeviceData *DeviceDataPrv;
   DeviceDataPrv = &DeviceDataPrv__DEFAULT_RTOS_ALLOC;
  DeviceDataPrv->UserDataPtr = UserDataPtr; /* Store the RTOS device structure */
   DeviceDataPrv->SavedISRSettings_TUInterrupt.isrData = _int_get_isr_data(LDD_ivIndex_INT_TPM1);
  DeviceDataPrv->SavedISRSettings_TUInterrupt.isrFunction = _int_install_isr(LDD_ivIndex_INT_TPM1, TU1_Interrupt, DeviceDataPrv);
    //SIM_SOPT2 |= SIM_SOPT2_TPMSRC(1);
  SIM_SCGC6 |= SIM_SCGC6_TPM1_MASK;                                                   
  TPM1_SC = 0x00U;                     /* Clear status and control register */
   TPM1_CNT = 0x00U;                    /* Reset counter register */
   TPM1_C0SC = 0x00U;                   /* Clear channel status and control register */
   TPM1_C1SC = 0x00U;                   /* Clear channel status and control register */
  TPM1_MOD = TPM_MOD_MOD(0xFFFF);      /* Set up modulo register */
   TPM1_C1SC = TPM_CnSC_CHIE_MASK |
              TPM_CnSC_MSB_MASK |
              TPM_CnSC_ELSB_MASK |
              TPM_CnSC_ELSA_MASK;      /* Set up channel status and control register */
    TPM1_C1V = TPM_CnV_VAL(0x0);      /* Set up channel value register */
  PORTE_PCR21 = (uint32_t)((PORTE_PCR21 & (uint32_t)~(uint32_t)(
                 PORT_PCR_ISF_MASK |
                 PORT_PCR_MUX(0x04)
                )) | (uint32_t)(
                 PORT_PCR_MUX(0x03)
                ));                                                
  DeviceDataPrv->EnEvents = 0x01u;     /* Enable selected events */
   NVIC_IPR4 = (uint32_t)((NVIC_IPR4 & (uint32_t)~(uint32_t)(
               NVIC_IP_PRI_18(0x7F)
              )) | (uint32_t)(
               NVIC_IP_PRI_18(0x80)
              ));                                                
  /* NVIC_ISER: SETENA|=0x00040000 */
  NVIC_ISER |= NVIC_ISER_SETENA(0x00040000);                                                   
    TPM1_SC = TPM_SC_CMOD(0x01) | TPM_SC_TOIE_MASK | TPM_SC_PS(4);         /* Set up status and control register */
  TPM1_SC |= TPM_SC_TOF_MASK;
  TPM1_C1SC |= TPM_CnSC_CHF_MASK;
  /* Registration of the device structure */
  PE_LDD_RegisterDeviceStructure(PE_LDD_COMPONENT_TU1_ID,DeviceDataPrv);
  return ((LDD_TDeviceData *)DeviceDataPrv); /* Return pointer to the device data structure */
}

void TU1_Interrupt(LDD_RTOS_TISRParameter _isrParameter)
{
  TPM1_SC &= ~TPM_SC_TOF_MASK;
  TPM1_C1SC &= ~TPM_CnSC_CHF_MASK;
   TU1_TDeviceDataPtr DeviceDataPrv = (TU1_TDeviceDataPtr)_isrParameter;
  LDD_TEventMask State = 0U;
  if ((TPM_PDD_GetChannelInterruptFlag(TPM1_BASE_PTR, ChannelDevice[0])) != 0U) {
    State |= LDD_TIMERUNIT_ON_CHANNEL_0; /* and set mask */
  }
  State &= DeviceDataPrv->EnEvents;    /* Handle only enabled interrupts */
  if (State & LDD_TIMERUNIT_ON_CHANNEL_0) { /* Is the channel 0 interrupt flag pending? */
    TPM_PDD_ClearChannelInterruptFlag(TPM1_BASE_PTR, ChannelDevice[0]); /* Clear flag */
    TU1_OnChannel0(DeviceDataPrv->UserDataPtr); /* Invoke OnChannel0 event */
  }
}

具体问题如下:
TU1_interrupt(); 只是初始进入一次,其后都不能进入
但是TPM1_CNT一直都是在计数,溢出后能自动清零从新开始
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

4

帖子

0

新手上路

Rank: 1

积分
4
最后登录
1970-1-1
发表于 2013-6-21 13:53:33 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

回复第 17 楼 于2013-03-29 15:51:06发表:
首先可以肯定的是,你的猜测是对的。KL24的确是KL系列的产品。KL有一款非常好的板子叫做Freedom Board。价格相对来说也比较低廉。你可以从我们的官网上面下载它的demo code。链接如下:https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&fpsp=1&tab=Design_Tools_Tab 

是不是KL25_SC.EXE文件安装后的工程啊,但是看不到。c文件。
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
 楼主| 发表于 2013-6-21 14:08:22 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

安装之后,CodeWarrior工程在...\Kinetis L Sample Code\kl25_sc_rev6\klxx-sc-baremetal\build\cw\platinum\kl25_platinum
IAR的工程在...Kinetis L Sample Code\kl25_sc_rev6\klxx-sc-baremetal\build\iar\
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

7

帖子

0

新手上路

Rank: 1

积分
13
最后登录
1970-1-1
发表于 2013-6-22 07:15:47 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

回复第 38 楼 于2013-04-11 20:24:51发表:
FSL的8位产品转到Kinetis L系列其中比较明显的一个变化是增加了一个DMA功能。DMA的基本应用比较简单,其中大体上需要设置的是DMA触发源,DMA的源地址和DMA的目标地址。附件是一个ADC的DMA操作源码。这个源码实现了用两个DMA对ADC进行自动扫描。仅供大家参考。
 

这个dma真不错啊
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

7

帖子

0

新手上路

Rank: 1

积分
13
最后登录
1970-1-1
发表于 2013-7-8 21:44:58 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

helllo
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
 楼主| 发表于 2013-7-11 11:15:03 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

呵呵,DMA是很好用啊。大大的解放了内核。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

2

帖子

0

新手上路

Rank: 1

积分
2
最后登录
1970-1-1
发表于 2013-7-12 23:02:19 | 显示全部楼层

RE:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

好好学习天天进步!
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

4

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2013-7-14 23:00:23 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

楼主,你那ADC-DMA例程里的ADC输入用到哪个通道呀,我看你程序是disable ADC module
ADC0_SC1A = 0x1f;
我是菜鸟,看着这句就犯迷糊了,望楼主指点下
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

66

帖子

0

注册会员

Rank: 2

积分
137
最后登录
1970-1-1
发表于 2013-9-6 14:06:44 | 显示全部楼层

回复:8位工程师转型篇 - 每天一起学习Kinetis L系列一点点

回复第 81 楼 于2013-05-16 10:54:43发表:
回复第 79 楼 于2013-05-14 17:13:52发表:
回复第 78 楼 于2013-05-13 21:52:29发表:
我觉得你首先要先去飞思卡尔的官网上去下载一下,KL25板子的例程,自己跑一跑。这个亮灯的程序也在里面。 

谢谢! 我后来发现是 GPIO PORT的时钟没有打开造成的,现在已经正常工作了, 但是我之前在官网提供的LED例程的main函数里加上我的代码是可以工作的,我回去再仔细看官网提供的例程。
另外我有两个问题想请教您:
1. Keil 环境下能不能用OPEN SDA 来调试?
2.Keil 环境下如何用ULINK来调试,如何接线? 我用的是官网上的 FRDM-KL25Z 开发板, 谢谢!
 

1. Keil是可以使用OPEN SDA来调试的。
2. SWD接口只需要,复位,时钟,数据,电源,地。这5根线。你按照你的ULINK上已有的接口连接上就可以工作了。
 

你好,我想问下KL15用J_LINK调试的话,电路要怎么接?然后用Codewarrior 10.4下载程序,要怎么改配置才能通过J_Link烧写成功?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-11-5 06:47 , Processed in 0.095709 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表