Thắc mắc về UART

voduycong

Trứng gà
Anh(chị) có thể giải đáp một số dòng lệnh trong ccs giúp em được không. Em đọc code mà không hiểu gì hết:
- lệnh UARTCharsAvail(UART0_BASE) ý nghĩa là gì??
- như thế nào là NonBlocking. Blocking
- lệnh UARTIntStatus(UART0_BASE,true) có nghĩa là gì, nếu thay true=false thì sao??
Em cảm ơn nhiều :)
 

hmtmarconi

Thành Viên PIF
-UARTCharsAvail dùng để check xem còn dữ liệu đang nhận hay ko
-NonBlocking với Blocking thì theo mình biết là NonBlocking thì khi đang gửi mà hết kí tự trong FIFO hay nhận mà đầy rồi thì nó sẽ báo lỗi ròi ngưng luôn, còn Blocking thì lúc đó sẽ chờ, sau khi có chỗ thì nó sẽ gửi hay nhận tiếp
-UARTIntStatus sẽ trả về trạng thái hiện tại của ngắt.Chỗ true hay false là chỗ của tham số "bool bMasked", nó là gì thì mình cũng ko rõ lắm :)
 

honghiep

Cố Vấn CLB
Staff member
Về việc Blocking và Non-blocking:
- khi gửi blocking thì khi gọi hàm gửi, CPU sẽ chờ đến khi kí tự được gửi xong mới chạy lệnh kế tiếp.
- khi gửi non-blocking, data sẽ được đưa vào FIFO và bắt ddđầu gửi, CPU sau khi đưa data vào FIFO sẽ tiếp tục chạy các lệnh tiếp theo (không cần chờ đến khi data gửi xong)
 

Phạm Thành Danh

Thành Viên PIF
Anh(chị) có thể giải đáp một số dòng lệnh trong ccs giúp em được không. Em đọc code mà không hiểu gì hết:
- lệnh UARTCharsAvail(UART0_BASE) ý nghĩa là gì??
- như thế nào là NonBlocking. Blocking
- lệnh UARTIntStatus(UART0_BASE,true) có nghĩa là gì, nếu thay true=false thì sao??
Em cảm ơn nhiều :)
Bạn có thể xem chi tiết các lệnh và cách sử dụng ở đấy nhá http://www.ti.com/lit/ug/spmu298a/spmu298a.pdf
 

hoangthien94

Ban Chủ Nhiệm
Bạn @voduycong lần sau nên post câu hỏi nên cụ thể hơn nhé, ví dụ như chèn thêm đoạn code đó vào, nói thêm bạn hiểu thế nào, không hiểu chỗ nào, có ý tưởng gì, v.v... như vậy mọi người dễ "còm mén" mà bạn cũng học được nhiều hơn (ví dụ hiểu sai sẽ có người chỉ ra chỗ sai :)).
- Câu 1 và 2: Không rõ bạn đã coi chưa, nhưng mình nghĩ bạn nên xem (lại) clip tutorial bài 6: UART - Part1 của PIF :
---> Hi vọng xem xong bạn sẽ nắm được 2 câu hỏi đầu tiên và tự trả lời được (thật ra có nói trong clip rồi :D).
- Câu 3, bạn nên tìm hiểu thêm một số khái niệm như: ngắt (interrupt), các loại ngắt (system reset, (non)-maskable NMI, maskable ), các thông tin cần biết khi sử dụng ngắt: nguồn ngắt, loại ngắt, tên cờ ngắt, v.v... để hiểu rõ hơn câu hỏi của bạn.
Và ngạc nhiên thay =)) , câu hỏi số 3 của bạn cũng sẽ được giải đáp rất chi tiết trong clip tutorial bài 6: UART - Part2 (link trên).
 
Top