Kit launchpad có cảm ứng !!!!!!!

vanthinhvt92

Thành Viên PIF
Sau một thời gian nghiên cưu kĩ lưỡng mà không biết nguyên nhân tại đâu. Em xin hỏi anh chi vẫn đề như sau. Em thực hiện đoạn như sau:
Code:
#include<msp430g2152.h>
void main(void)
{
        P1DIR        |= 0x40;
        P1OUT=0x00;
        while(1)
            {
                if( (P1IN & 0x08)==0)
                {
                    P1OUT|=0x40;
                }
                else
                {
                    P1OUT&=~0x40;
            }
}
Sau khi nạp cho kit, thì nếu đúng khi ta bấm nút ở p1.0 thì led p1.6 sẽ sáng, nhưng thực tế lại khác, khi em bấm nút thì nó không hề sáng mà chỉ khi nào em lấy tay chạm nhẹ vào phần kim loại của nút p1.0 thì led nó mới sáng . Kit em bị sao vậy anh chị :-s , có bạn nào bị giống mình không :5cool_sweat: !!!!!!
 

Manhdd

Cố Vấn CLB
Staff member
Nút nhấn là P1.3 chứ nhỉ?
Vấn đề của em nhiều người bị lắm đó. Vì tuần này mình mới học tiếp phần Input nên anh không có nhắc :D
Lý do thông thường ở LaunchPad rev1.5 là điện trở kéo lên nguồn R34 của chân P1.3 không hề được hàn vào board, khiến cho bình thưởng áp chân này ở trạng thái "lơ lửng". Con tụ C24 kéo xuống GND để ổn định áp đọc cũng không có luôn :1cool_byebye:
Cách khắc phục vấn đề này là em tự hàn con trở đó vào, hoặc config điện trở kéo lên nội trong con chip. Phần config này trong bài giảng có (Phần thanh ghi). Em mò làm xem được không :)
 

Kisses Hacker

Art Supporter
Staff member
Bạn xem lại code mà bạn post nhé, code này chưa nạp được cho chip. Để thực hiện nhận input từ nút nhấn, bạn cần thêm vài thứ sau:
+ include "msp430g2553.h" (cái này quan trọng nhất mà :5cool_sweat:)
+ Tắt Watchdog Timer (xem lại TUT)
+ Set trở kéo lên cho chân P1.3 (xem lại TUT)

Việc nhận input từ nút nhấn cũng có một số lưu ý, mình cũng một thời bực mình với nó, bạn xem lại TUT rồi tự mò mẫm thêm tý xem sao :gach Với sửa mấy cái lỗi linh tinh nữa nhé.
 

vanthinhvt92

Thành Viên PIF
Bạn xem lại code mà bạn post nhé, code này chưa nạp được cho chip. Để thực hiện nhận input từ nút nhấn, bạn cần thêm vài thứ sau:
+ include "msp430g2553.h" (cái này quan trọng nhất mà :5cool_sweat:)
+ Tắt Watchdog Timer (xem lại TUT)
+ Set trở kéo lên cho chân P1.3 (xem lại TUT)

Việc nhận input từ nút nhấn cũng có một số lưu ý, mình cũng một thời bực mình với nó, bạn xem lại TUT rồi tự mò mẫm thêm tý xem sao :gach Với sửa mấy cái lỗi linh tinh nữa nhé.
Cái này là nguyên văn ở đây mà bạn, Anh ấy làm chạy ok mà :http://www.diendanti.com/showthread.php?109-MSP430-TUT-1.-Tổng-quát-về-GPIO Cái phần 2 đó !!!!:-(
 

Kisses Hacker

Art Supporter
Staff member
Hì. Nói thiệt với bạn là code theo TUT đó không chạy đâu :2cool_sexy_girl: Chịu khó tự sửa đi nhé :5cool_beat_plaster:
 

honghiep

Cố Vấn CLB
Staff member
Vấn đề mình nghĩ là do bạn chưa chọn điện trở kéo lên hay kéo xuống cho nút bấm trên launchpad do launchpad không có trở kéo ngoài cho nút bấm. Trên mạch main thì đã gắn sẵn trở kéo lên rồi nên nó chạy bình thường
 

Kisses Hacker

Art Supporter
Staff member
Code trong video TUT thứ 2 sẽ không nhận nút nhấn trên LaunchPad được. Vì không set trở kéo lên cho P1.3. Và trong hàm main() có P1OUT = 0x00;. Lúc đó P1.3 bị set xuống 0 rồi, nên lệnh if ((P1IN & 0x08) == 0) sẽ luôn đúng => đèn luôn sáng.
Còn thử trên board main thì không biết :D
 

mafiaWolf

Chủ tịch Hội phụ nữ PIF
Sau một thời gian nghiên cưu kĩ lưỡng mà không biết nguyên nhân tại đâu. Em xin hỏi anh chi vẫn đề như sau. Em thực hiện đoạn như sau:
Code:
#include<msp430g2152.h>
void main(void)
{
        P1DIR        |= 0x40;
        P1OUT=0x00;
        while(1)
            {
                if( (P1IN & 0x08)==0)
                {
                    P1OUT|=0x40;
                }
                else
                {
                    P1OUT&=~0x40;
            }
}
Sau khi nạp cho kit, thì nếu đúng khi ta bấm nút ở p1.0 thì led p1.6 sẽ sáng, nhưng thực tế lại khác, khi em bấm nút thì nó không hề sáng mà chỉ khi nào em lấy tay chạm nhẹ vào phần kim loại của nút p1.0 thì led nó mới sáng . Kit em bị sao vậy anh chị :-s , có bạn nào bị giống mình không :5cool_sweat: !!!!!!
Tình trạng này hồi đó em cũng bị và thắc mắc rồi :D>..anh pull up resistor cho nó là được à....câu lệnh gì em không nhớ rõ ta :-?
 
Top