拿到TI
金刚狼板卡已经有一段时间了,作品现在还在调试当中,今天就开个帖子,这样也算对得起eeword
对我支持,把我这段时间的经验分享出来吧,这样后来的初学者也能接着帖子快速入门,后续还会有: 但凡我搞到MCU,首先肯定会用到GPIO,TI的金刚狼430的GPIO还是挺容易理解的。
首先我们可以查阅TI提供的数据手册,如下图:
我截取一部分出来,一看这个表,大家就可以一目了然了,P2SEL0和 P2SEL1寄存器是功能选择寄存器,P2DIR是管脚方向寄存器,是控制管脚输入还是输出。GPIO就是靠这3个寄存器配置成输入还是输出或者配置成其他功能。
PXIN和PXOUT是输入寄存器和输出寄存器,如果管脚配置成输入模式,则管脚读到外部的电平状态会存在PXIN寄存器里,用户可以从这个寄存器读出此时电平的状态。
如果管脚配置成输出模式,PXOUT如果写1就是输出为1,如果写入0,就是输出0。
还有PXREN寄存器是配置上下拉电阻的寄存器,大家乐意参考官方提供的用户指南,如下图:
代码很简单
- #include "io430.h"
- int main( void )
- {
- WDTCTL = WDTPW | WDTHOLD; // Stop WDT
- P1SEL1 |= ~BIT0; // 配置P1.0位通用IO
- P1SEL0 |= ~BIT0;
-
- // Configure GPIO
- P1OUT &= ~BIT0; //管脚输出为0
- P1DIR |= BIT0; //设置管脚方向为输出
- PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode
- // to activate previously configured port settings
- while(1)
- {
- P1OUT ^= BIT0; // 翻转LED的状态
- __delay_cycles(100000);
- }
-
- }
复制代码大家有注意 PM5CTL0 &= ~LOCKLPM5;这句语句,他是打开所有GPIO,如果没有这个操作,GPIO是不能工作的。