完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
CC2530 I/O 端口具备如下重要特性:
寄存器介绍
P2INP高3位决定在配置为上下拉模式的时候,组为上拉还是下拉。P2INP第7位对应P2组 第6位对应P1组 第5位对应P0组 0表示上拉 1表示下拉Example: 设置P1_0输出低电平 P1SEL &=0xFE; //1111 1110 设置为通用I/OP1DIR |= 0x01; //设置引脚为输出P1_0 = 0; //输出低电平 设置P0_6为输入上拉 P0SEL &=0xBF; //1011 1111 设置为通用I/OP0DIR &=0xBF; //1011 1111 设置引脚为输出P0INP &=0xBF; //让P0_6配置为上下拉模式P2INP &=0xDF; //1101 1111让P0组处于上拉模式 通用 I/O 中断 通用 I/O 引脚设置为输入后,可以用于产生中断。中断可以设置在外部信号的上升或下降沿触发。 P0、 P1或 P2 端口都有中断使能位,对位于 IEN1-2 寄存器内的端口所有的位都是公共的,如下: IEN1.P0IE: P0组中断使能 IEN2.P1IE: P1组中断使能 IEN2.P2IE: P2组中断使能 IEN2寄存器(不可位寻址) 除了这些公共中断使能之外, 每个端口的位都有位于 SFR 寄存器 P0IEN、 P1IEN 和 P2IEN的单独的中断使能。即使配置为外设 I/O 或通用输出的 I/O 引脚使能时都有中断产生,当中断条件发生在 I/O 引脚之一上面, P0-P2 中断标志寄存器 P0IFG、 P1IFG 或 P2IFG 中相应的中断状态标志将设置为 1。不管引脚是否设置了它的中断使能位,中断状态标志都被设置。当中断已经执行,中断状态标志被清除,该标志写入 0。 这个标志必须在清除 CPU 端口中断标志(PxIF)之前被清除 寄存器总结如下:
外部中断配置过程
配置P0_5的外部中断 P0SEL &=0xDF; P0DIR &=0xDF; P0INP &=0xDF; P2INP &=0xDF; // 初始化IO口工作在普通IO,上拉输入状态 P0IEN |= 0x20;// 开组内对应的具体某IO口中断 P0IE = 1; //开P0口组中断(P1、P2组P1IE/P2IE)不可位寻址 //开P1组中断应 IEN2 |=0x20; PICTL |= 0x01; //把PO一组配置成下降沿触发 EA = 1; //开CPU总中断 中断函数 #pragma vector = P0INT_VECTOR __interrupt void fn() { if(P0IFG & 0x20)//判断是否P0_5触发中断 { } P0IFG = 0; P0IF = 0;//清除中断 } |
|
|
|
只有小组成员才能发言,加入小组>>
3311 浏览 9 评论
2994 浏览 16 评论
3493 浏览 1 评论
9058 浏览 16 评论
4087 浏览 18 评论
1176浏览 3评论
604浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
598浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2334浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1895浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:26 , Processed in 1.198327 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号