[C10] Thắc mắc định nghĩa GPIO cho P2.7

daothanhhoa993

Thành Viên PIF
các bạn vô test code hộ mình với...đã cho P2SEL=P2SEL2=0 mà P2.7 xuất led vẫn chưa được :/

#include <msp430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer
P2SEL = 0;
P2SEL2 = 0;
P2DIR |= BIT7;
while (1)
{
P2OUT ^= BIT7;
__delay_cycles(1000000);
}
}
 

lee_trieu

Gà con
các bạn vô test code hộ mình với...đã cho P2SEL=P2SEL2=0 mà P2.7 xuất led vẫn chưa được :/

#include <msp430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer
P2SEL = 0;
P2SEL2 = 0;
P2DIR |= BIT7;
while (1)
{
P2OUT ^= BIT7;
__delay_cycles(1000000);
}
}
Để chọn chức năng GPIO cho 2 chân P2.6 và P2.7 bạn dùng lệnh này nha:
PHP:
P2SEL &=~(BIT6+BIT7);
P2SEL2 &=~(BIT6+BIT7);
P2DIR |= BIT6+BIT7;
CHúc bạn thành cônng !:)
 

honghiep

Cố Vấn CLB
Staff member
các bạn vô test code hộ mình với...đã cho P2SEL=P2SEL2=0 mà P2.7 xuất led vẫn chưa được :/

#include <msp430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer
P2SEL = 0;
P2SEL2 = 0;
P2DIR |= BIT7;
while (1)
{
P2OUT ^= BIT7;
__delay_cycles(1000000);
}
}
Bạn kiểm tra lại phần cứng có vấn đề gì không nhé :D
Để chọn chức năng GPIO cho 2 chân P2.6 và P2.7 bạn dùng lệnh này nha:
PHP:
P2SEL &=~(BIT6+BIT7);
P2SEL2 &=~(BIT6+BIT7);
P2DIR |= BIT6+BIT7;
CHúc bạn thành cônng !:)
Khi đặt P2SEL = 0; và P2SEL2 = 0; thì bit6 và bit7 của 2 thanh ghi này đã được reset về 0 luôn rồi nhé :)
 

Kisses Hacker

Art Supporter
Staff member
các bạn vô test code hộ mình với...đã cho P2SEL=P2SEL2=0 mà P2.7 xuất led vẫn chưa được :/

#include <msp430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer
P2SEL = 0;
P2SEL2 = 0;
P2DIR |= BIT7;
while (1)
{
P2OUT ^= BIT7;
__delay_cycles(1000000);
}
}
Bạn thay BIT7 bằng BIT6 nhé. Chân 19 của MSP430G2553 là P2.6 nhưng trong đề thi ghi là P2.7. Có một sự nhầm nhẹ :misdoubt: (troll)
 

lee_trieu

Gà con
Khi đặt P2SEL = 0; và P2SEL2 = 0; thì bit6 và bit7 của 2 thanh ghi này đã được reset về 0 luôn rồi nhé :)
Thì được chứ !:-(nhưng khí đó cả Port 2 sẻ có chức năng GPIO thay vì 2 bit 6 và 7:)Như vậy sẻ không dùng được các chức năng khác của Port2. :)
Nói chung tuỳ vào mục đích mà cấu hình thôi, Em thấy bạn ấy hỏi cấu hình GPIO cho 2 chân ấy hay gì mà:5cool_sweat:
 

nguyen tuan anh

Trứng gà
các bạn vô test code hộ mình với...đã cho P2SEL=P2SEL2=0 mà P2.7 xuất led vẫn chưa được :/

#include <msp430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer
P2SEL = 0;
P2SEL2 = 0;
P2DIR |= BIT7;
while (1)
{
P2OUT ^= BIT7;
__delay_cycles(1000000);
}
}
Để chọn chức năng GPIO cho 2 chân P2.6 và P2.7 bạn dùng lệnh này nha:
PHP:
P2SEL &=~(BIT6+BIT7);
P2SEL2 &=~(BIT6+BIT7);
P2DIR |= BIT6+BIT7;
CHúc bạn thành cônng !:)
cho mình hỏi chân XIN, XOUT lần lượt là P2.6 và P2.7 phải ko mọi người
 

Lê Quang Dũng

Trứng gà
không biết ccs của em bị gì không, khai báo p1sel và p2sel thì bình thường nhưng khai báo p1sel2 và p2sel2 thì bị báo lỗi #20 identifier "P2SEL2" is undefined??? có anh chị nào biết cách khắc phục không ạ?
 

honghiep

Cố Vấn CLB
Staff member
không biết ccs của em bị gì không, khai báo p1sel và p2sel thì bình thường nhưng khai báo p1sel2 và p2sel2 thì bị báo lỗi #20 identifier "P2SEL2" is undefined??? có anh chị nào biết cách khắc phục không ạ?
Bạn xem lại phần chọn chip có đúng chưa nhé
 
Top