微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > KL 系列 FAQ (七)——GPIO

KL 系列 FAQ (七)——GPIO

时间:10-02 整理:3721RD 点击:

10 GPIO

10.1 KL25 的 IO 口最高翻转频率

问题:

请问 KL25 的 IO 口翻转,最高能到达多少频率?


答案:

如果使用 FGPIO 寄存器也就是单周期快速 IO 口,那么翻转频率可以到达

Core clock 的一半,如果你把 Core Clock 设置成 48MHz 那么你的 IO 口翻转频率最

快能到达 24MHz。我用官网下载的 KL25-SC 例程包中 make_new_cw_project 工具

创建了一个基于 platinum 的新工程(该工具路径为 E:\…\KL25 Sample

Code\kl25_sc_rev9\klxx -sc-baremetal\build\cw)。并在该工程下写了如下图示代码

并测得波形,波形图中 IO 口每翻转 6 次后将有一段时间的延时,这个延时其实是

while 循环经编译器编译后执行到最后行时添加的跳转指令使程序能够从 while 循

环第一句重新开始执行导致的。







10.2 KL05 引脚复用问题

问题:

在 KL05Z32 的参考手册中,有个关于引脚复用的问题,如下图:



001 的时候是 GPIO,但是 000 以及默认的时候有四种功能,到底是哪个功能呢?


答案:

默认的时候虽然对应了 4 种功能,但是每种功能的实现都需要打开相应模

块的时钟才能实现。即需要哪种功能就打开哪个模块的时钟,这样芯片内部就会打

开相应的通道。如果这四种功能的时钟都同时打开,那么就会引起该引脚的冲突,

因此需要避免在同一个引脚同时打开四种功能的时钟。


10.3 KL05 如何选择引脚功能

问题:

在 KL05Z32 的参考手册中,如何将引脚功能选择成上图中 ALT0~ALT3 其

中一种功能?

答案:

通过查看参考手册“Port control and interrupts (PORT)”章节 PORTx_PCRn

寄存器的 MUX 位可知,某个引脚选择哪种 ALT 功能是根据 MUX 值决定的。该寄

存器如图示:




10.4 KL25 的 IO 口边沿变化斜率

问题:

请问 KL25 数字 IO 口输出的边沿变化斜率怎么无法改变?根据参考手册上

PORTx_PCRn 寄存器的 SRE 位功能描述,SRE=0 时应为快速变化斜率,SRE=1 为

慢速变化斜率。


答案:

你需要注意 SRE 位功能描述处有这么一句话“This bit is read only for pins

that do not support a con figurable slew rate.”其实就是说如果芯片不支持斜率控制,

那么该位将是只读的。通过查看参考手册第三章“Port Control and Interrupt Sum-

mary”端口控制和中断概要的表格可以看到,其中因为 Slew Rate Enable control 行


全为 No 所以这些端口都不支持斜率控制。


10.5 KL25 的 IO 口是否支持外部中 断

问题:

请问 KL25 的 GPIO 口是否支持外部触发中断?


答案:

通过查看参考手册 KL25P80M48SF0RM 第三章“Table  3-49.  Ports  Summary”

表格末尾“Interrupt and DMA Request”行可以 看出,该参考手册所列的芯片仅有

Port A、Port D 口支持外部触发中断。


由于每款芯片的具体配置不同,所以当需要使用参考手册中描述的功能时,建

议先在参考手册第三章 Chip Configuration 处确认。




10.6 KL25 的 IO 口外部中断区分

问题:

如果我把 KL25 的 PortA、PortD 口引脚配置了外部中断,是否每个引脚都

有自己的中断服务函数?


答案:

通过查看参考手册 KL25P80M48SF0RM 第三章“Table 3-7. Interrupt vector

assignments”表可知:PortA、PortB 分别有自己的中断向量,PortA 端口引脚触发

的外部中断将会进 PortA 的中断服务函数。但如果是同组 IO 口的不同引脚(如


PortA 组的 PTA0、PTA1 引脚)触发的外部中断都会进入 PortA 的中断服务函数。

只能通过整组中断状态标志(PORTx_ISFR) 或单个引脚的中断状态标志

(PORTx_PCRn 的 ISF)去判断到底是哪个引脚触发了该组 IO 口的外部中断。



10.7 KL25 的 IO 口外部中断触发方式  

问题:

请问 KL25 的 Port A、Port D 口支持哪些外部中断触发方式?


答案:

通过查看参考手册 KL25P80M48SF0RM 第十一章“11.6.3  External  interrupts”

描述可知:这两组 IO 口支持高电平、低电平、上升沿、下降沿、双边沿中断触发。

另外检测到上升沿、下降沿、双边沿还可以用于 DMA。

触发方式可以通过 PORTx_PCRn 寄存器的 IRQC 配置(如图)。




10.8 KL25 的 IO 口电平触发外部中断  

问题:

参考手册上看 KL25 的 Port A、Port D 口支持边沿、电平方式触发中断。在

电平触发方式下,如果输入的外部信号始终满足触发条件,是否会连续触发中断?


答案:

通过查看参考手册 KL25P80M48SF0RM 第十一章“11.5.1 Pin Control Regis-

ter n (PORTx_PCRn)”寄存器的 ISF 位描述可知:如果引脚被配置成电平触发外部

中断且引脚始终满足触发条件,那么中断状态标志 ISF 一旦被写 1 清除将会立刻再

次被置 1 以表明中断被检测到,并再次触发中断。




推荐阅读:

KL 系列 FAQ (六)

KL 系列 FAQ (五)

KL 系列 FAQ (四)

KL 系列 FAQ (三)

KL 系列 FAQ (二)
KL 系列 FAQ (一)


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top