Recent content by Ngô Văn Tuân

  1. Ngô Văn Tuân

    Định lý Bayes (Bayes' theorem)

    Bài trước: Các công thức xác suất cơ bản Công thức của định lý Bayes \begin{equation} P(A|B) = \frac{P(B|A)P(A)}{P(B)} \end{equation} Chứng minh: \begin{equation} P(A|B) = \frac{P(AB)}{P(B)} = \frac{P(BA)}{P(B)} = \frac{P(B|A)P(A)}{P(B)} \end{equation} Định lý Bayes cho hàm mật độ xác...
  2. Ngô Văn Tuân

    Các công thức xác suất cơ bản

    Bài trước: Biến ngẫu nhiên (random variable) 1. Các ký hiệu cơ bản \(X\) là một biến ngẫu nhiên; \(x\) là một giá trị của biến ngẫu nhiên \(X\); \(p(X=x)\) là xác suất biến ngẫu nhiên \(X\) có giá trị \(x\); \(p(x)\) là viết tắt của \(p(X=x)\), là hàm mật độ xác suất hay probability density...
  3. Ngô Văn Tuân

    Biến ngẫu nhiên (random variable)

    0. Phân tích từ vựng "biến ngẫu nhiên": Thứ nhất: là biến, giá trị biến có tính chất là có thể thay đổi được, đối lập với hằng (giá trị không thay đổi được); Thứ hai: là ngẫu nhiên, tức là giá trị đạt được của biến không bị tác động bởi bất kỳ yếu tố nào. Lý thuyết là không chịu tác động nhưng...
  4. Ngô Văn Tuân

    [C20] C Programming Language Review

    Bài này cung cấp các câu hỏi giúp các bạn ôn tập lại kiến thức cơ về ngôn ngữ lập trình C. Xem tài liệu đính kèm để biết thêm chi tiết. 1. Constant #include <stdio.h> const int NUMBER = 10; int main() { NUMBER = 100; printf("Number is: %d", NUMBER); return 0; } 2. Variable...
  5. Ngô Văn Tuân

    [C] Function Pointer (Con trỏ hàm) - P2

    Bài này sẽ trình bày một số ví dụ ứng dụng con trỏ hàm: 1. Supervisor call interface #include <stdio.h> #include <stdint.h> /* Library */ int add(int a, int b) { return a + b; } /* End of library */ int main() { int svc; svc = (int)(&add); int sum =...
  6. Ngô Văn Tuân

    [C] Function Pointer (Con trỏ hàm) - P1

    Một cách ngắn gọn: Con trỏ hàm là biến lưu địa chỉ của hàm. Nếu bạn tự hỏi học con trỏ hàm để làm gì thì mình sẽ cho bạn một lý do để học con trỏ hàm: một ứng dụng phổ biến của con trỏ hàm là để pass sự kiện từ lớp dưới lên các lớp trên. Lấy ví dụ khi bạn click chuột, sự kiện này được gửi từ...
  7. Ngô Văn Tuân

    [C] Variable Pointer (Con trỏ biến) - P2

    Bài này sẽ trình bày sâu hơn về con trỏ trong ngôn ngữ lập trình C: 1. Kích thước con trỏ Lưu ý: Hàm sizeof() là hàm lấy kích thước của một đối tượng tính theo byte. Xét ví dụ sau: #include <stdio.h> #include <stdint.h> char var0 = 19; int var1 = 1000; float var2 = 10.2; double var3 =...
  8. Ngô Văn Tuân

    [C20] Interrupt

    Ý @phamngocson nói là sub priority có giá trị số thấp hơn. Nhưng mà phải mặc định như sau mới đúng: Khi nói priority cao thì mặc định hiểu là số biểu thị priority đó nhỏ. Khi nói priority thấp thì mặc định hiểu là số biểu thị priority đó lớn.
  9. Ngô Văn Tuân

    [C20] Interrupt

    1. Nói một cách đơn giản: The lower the number the higher the priority. Do đó sub priority càng nhỏ thì độ ưu tiên càng cao. Khi nói priority cao thì mặc định hiểu là số biểu thị priority đó nhỏ. Khi nói priority thấp thì mặc định hiểu là số biểu thị priority đó lớn. 2. Mở rộng thêm một chút về...
  10. Ngô Văn Tuân

    [C20] Interrupt

    Nếu CPU yêu cầu module thực hiện một công việc nào đó. Để biết rằng công việc đó đã được thực hiện xong chưa, CPU có thể liên tục đọc một bit flag (cờ) trên một SFR nào đó (module sẽ set bit này lên 1 nếu công việc hoàn thành). Tuy nhiên, cách này có một số vấn đề sau: Nếu CPU còn việc khác...
  11. Ngô Văn Tuân

    [C] Variable Pointer (Con trỏ biến) - P1

    Một cách ngắn gọn: Pointer là một biến lưu địa chỉ của biến khác. Dài hơn một chút: Pointer là một biến gần giống như biến thông thường ta khai báo khi ta mới học C nhưng điểm khác biệt lớn nhất là ở ứng dụng của pointer, ở giá trị mà nó lưu trữ: là địa chỉ của một biến khác trong bộ nhớ. 1...
  12. Ngô Văn Tuân

    [C20] Special Function Register - Thanh ghi chức năng đặc biệt

    Chào các bạn, Bài viết sẽ cung cấp cho các bạn một số kiến thức cơ bản về thanh ghi mà nếu các bạn không biết vẫn có thể code được VĐK như thường bằng ngôn ngữ lập trình C và SDK do nhà sản xuất cung cấp. Nhưng nếu các bạn không biết thì sẽ có những vấn đề mà bạn sẽ không thể giải quyết được...
  13. Ngô Văn Tuân

    [Attention] Giới thiệu diễn đàn phiên bản 2020

    1. Giao diện mới, cool hơn. 2. Trình soạn thảo văn bản mới ngầu đời hơn được bổ sung thêm khác nhiều tính năng hữu ích: Code được soạn thảo trong vùng riêng để dễ theo dõi (copy) hơn: #include <stdio.h> int main(void) printf("Hello world!!!"); return 0; } Inline code...
  14. Ngô Văn Tuân

    [C20] C - Intermediate Level

    Chào các bạn, Hôm nay chúng ta đã học qua một số kiến thức mà hiện giờ ta coi là nâng cao trong C bao gồm: Pointer Struct Enum Mong rằng sau khi học bài này, các bạn sẽ có thể tự tin đọc hiểu và sử dụng thư viên HAL của STM32. Vì một tương lai kiến thức nâng cao biến thành kiến thức cơ bản...
  15. Ngô Văn Tuân

    [C20] Thông báo chuẩn bị buổi 4

    Chào các bạn:1cool_byebye:, Chúc mừng các bạn đã vượt qua kì thi đầu vào để bước tiếp tới những buổi học tiếp theo. Nếu các bạn cho rằng kì thi vừa rồi thật khó khăn thì chắc hẳn các bạn sẽ cảm thấy thật vui mừng khi biết rằng những khó khăn mới chỉ bắt đầu :D. Thôi thì thôi thế thế thế thôi...
Top