[HỎI VỀ CODE BUỔI PRE 2]

Mạnh Thắng

Thành Viên PIF
Trong cái buổi Pre 2, cụ thể là cái bài tập đầu tiên: làm cho hai con led trên kit msp430 sáng khi nhấn nút theo hai trạng thái ấy. Em đọc code của các anh up lên và nạp vô kit chạy lại thì em thấy đèn ở trạng thái đầu tiên nó không nháy 5 lần mà chỉ nháy có 3 lần thôi ạ. Tại sao lại bị như vậy ạ?, em đọc đi đọc lại code hoài mà vẫn không hiểu vì sao!:-s mong các anh các chị chỉ giáo ạ :2cool_burn_joss_stick:

Code ct con của trạng thái đèn đỏ sáng 5 lần chuyển đèn xanh sáng 5 lần:

void Effect_1 (void)
{
int i;
for(i = 0;i<10;i++)
{
if(i<5)
{
P1OUT &= ~LED_RED;
P1OUT ^= LED_GREEN;
__delay_cycles(TIME_DELAY_US);
}
else
{
P1OUT &= ~LED_GREEN;
P1OUT ^= LED_RED;
__delay_cycles(TIME_DELAY_US);
}
}
P1OUT &= ~(LED_RED + LED_GREEN);
}
 

TRẦN MINH QUANG

Thành Viên PIF
Hi bạn, thật ra thì nếu nói đèn đổi trạng thái 5 lần sẽ đúng hơn, vì mỗi một lần vô thì phép toán ^= chỉ đổi trạng thái của ngõ ra tương ứng, vậy nếu mình lặp 5 lần thì sẽ là: ban đầu tắt --> sáng (lần 1) --> tắt (lần 2) --> sáng (lần 3) --> tắt (lần 4) --> sáng (lần 5), nên bạn sẽ thấy nó sáng 3 lần. Hôm đó a dùng từ chưa đúng lắm, bạn hãy hiểu đúng là đèn đổi trạng thái 5 lần nhé. Hiểu rồi bạn hãy sửa cho nó nháy 5 lần như bạn hiểu xem. Chúc bạn code vui.
Thân. :D
 

Mạnh Thắng

Thành Viên PIF
Hi bạn, thật ra thì nếu nói đèn đổi trạng thái 5 lần sẽ đúng hơn, vì mỗi một lần vô thì phép toán ^= chỉ đổi trạng thái của ngõ ra tương ứng, vậy nếu mình lặp 5 lần thì sẽ là: ban đầu tắt --> sáng (lần 1) --> tắt (lần 2) --> sáng (lần 3) --> tắt (lần 4) --> sáng (lần 5), nên bạn sẽ thấy nó sáng 3 lần. Hôm đó a dùng từ chưa đúng lắm, bạn hãy hiểu đúng là đèn đổi trạng thái 5 lần nhé. Hiểu rồi bạn hãy sửa cho nó nháy 5 lần như bạn hiểu xem. Chúc bạn code vui.
Thân. :D
oh. Em hiểu rồi :3cool_adore: Vậy mà mình không nghĩ ra :((
Cảm ơn anh nhiều ạ:2cool_burn_joss_stick:
 
Top