K60(一)端口复用问题

本文回顾了一段LED亮灯程序,通过分析关键头文件和PORT的中断复用函数,解释了如何利用端口复用点亮P0口的阴极LED,并简要介绍了中断复用的过程,包括设置端口复用、写入中断号、清除中断标志位等步骤。
摘要由CSDN通过智能技术生成

回顾自己之前写的LED的亮灯程序,短短的几行代码就实现了。

#include <reg52.h>
void main(void){
    P0 = 0x11;
    while(1);
}

以上代码就可以点亮与P0口相连的阴极LED了。
但是这个灯是怎么亮的呢?
关键在于头文件

void  PORT_init(PTXn_e ptxn, uint32 cfg )
{
    SIM_SCGC5 |= (SIM_SCGC5_PORTA_MASK << PTX(ptxn));                           //开启PORTx端口  1.使能PORT时钟
                                                                                //系统时钟门控寄存器控制A,B,C,D,E的时钟源
    PORT_ISFR_REG(PORTX_BASE(ptxn)) = (1<<PTn(ptxn));                           // 清空标志位    2.清空中断标志位

    PORT_PCR_REG(PORTX_BASE(ptxn), PTn(ptxn)) = cfg;                            // 复用功能 实现中断触发方式,带无源滤波器,复用功能口,上拉或下拉电阻     3.配置port的各种属性
}

程序分析:
SIM_SCGC5的宏定义为:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值