NXP MCU 技术william hill官网
直播中

偶是糕富帅

11年用户 788经验值
私信 关注
[问答]

KL 系列 FAQ (七)——GPIO

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
Codekl25_sc_rev9klxx -sc-baremetalbuildcw)。并在该工程下写了如下图示代码
并测得波形,波形图中 IO 口每翻转 6 次后将有一段时间的延时,这个延时其实是
while 循环经编译器编译后执行到最后行时添加的跳转指令使程序能够从 while 循
环第一句重新开始执行导致的。
1.jpg

2.jpg

10.2 KL05 引脚复用问题
问题:
在 KL05Z32 的参考手册中,有个关于引脚复用的问题,如下图:
3.jpg
001 的时候是 GPIO,但是 000 以及默认的时候有四种功能,到底是哪个功能呢?

答案:
默认的时候虽然对应了 4 种功能,但是每种功能的实现都需要打开相应模
块的时钟才能实现。即需要哪种功能就打开哪个模块的时钟,这样芯片内部就会打
开相应的通道。如果这四种功能的时钟都同时打开,那么就会引起该引脚的冲突,
因此需要避免在同一个引脚同时打开四种功能的时钟。

10.3 KL05 如何选择引脚功能
问题:
在 KL05Z32 的参考手册中,如何将引脚功能选择成上图中 ALT0~ALT3 其
中一种功能?
答案:
通过查看参考手册“Port control and interrupts (PORT)”章节 PORTx_PCRn
寄存器的 MUX 位可知,某个引脚选择哪种 ALT 功能是根据 MUX 值决定的。该寄
存器如图示:
4.jpg

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 处确认。
5.jpg

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 口的外部中断。
6.jpg
10.7 KL25 的 IO 口外部中断触发方式  
问题:
请问 KL25 的 Port A、Port D 口支持哪些外部中断触发方式?

答案:
通过查看参考手册 KL25P80M48SF0RM 第十一章“11.6.3  External  interrupts”
描述可知:这两组 IO 口支持高电平、低电平、上升沿、下降沿、双边沿中断触发。
另外检测到上升沿、下降沿、双边沿还可以用于 DMA。
触发方式可以通过 PORTx_PCRn 寄存器的 IRQC 配置(如图)。
7.jpg

10.8 KL25 的 IO 口电平触发外部中断  
问题:
参考手册上看 KL25 的 Port A、Port D 口支持边沿、电平方式触发中断。在
电平触发方式下,如果输入的外部信号始终满足触发条件,是否会连续触发中断?

答案:
通过查看参考手册 KL25P80M48SF0RM 第十一章“11.5.1 Pin Control Regis-
ter n (PORTx_PCRn)”寄存器的 ISF 位描述可知:如果引脚被配置成电平触发外部
中断且引脚始终满足触发条件,那么中断状态标志 ISF 一旦被写 1 清除将会立刻再
次被置 1 以表明中断被检测到,并再次触发中断。
8.jpg

推荐阅读:


更多回帖

发帖
×
20
完善资料,
赚取积分