ThanhNT Blog's

Computer, Networking, Embedded Systems, PCB Design

Một số lỗi hay gặp khi phát triển phần mềm nhúng - Phần 2

Lỗi khi phát triển phần mềm nhúng Là một lập trình viên đôi lúc bạn sẽ phải thốt lên: Ơ hay, vừa mới chạy ngon mà giờ bây giờ lại lỗi được. Sao ban nãy vừa chạy xong, thêm có đúng một lệnh xxx vào mà nó lại không chạy nhỉ? Móa, lại treo à, reset lại giúp tôi với. Trong quá trình phát triển có lẽ chúng ta thường xuyên phải đối mặt với những tình huống không ai muốn đó.

Lập trình firmware: Bit significant, Bit shifting

Bit significant, Bit shifting Phân biệt MSB và LSB a, msb và lsb (Chữ thường) msb: most significant bit lsb: least significant bit Hai khái niệm này được dùng trong phạm vi 1 byte. msb là cái bít quan trọng nhất ở byte đó. Hiểu đơn giản, byte nào mà mất cái bit này đi(gán bít này bằng 0) thì giá trị của byte đó bị thay đổi đáng kể (có khi là đổi trắng thay đen, đổi từ âm sang dương :D) lsb thì ngược lại.

[Vui] Console.log theo phong cách Facebook

Hẳn là nhiều người sẽ để ý cái này khi bật cửa sổ Console trên Facebook: Có bao giờ bạn đặt ra câu hỏi tại sao nó in được chữ stop đỏ lòm mà to banh chành như vậy không? Rất đơn giản, đó là chúng ta phải styling lại nội dung cho cái log này: console.log('%c Nội dung', 'thuộc tính css') Ví dụ: console.log('%c Mày định làm cái gì?

C/C++ Preprocessor - Macro

C/C++ Preprocessor C/C++ Preprocessor Khái niệm macro Macro - một cái tên nghe khá hổ báo, được dùng để chỉ những hàm được viết ở phần Preprocessor, thay vì đặt nó vào trong phần thực thi của file nguồn. Ngoài ra khi nói đến macro có 1 nghĩa khác nữa, ám chỉ đến tất cả những phần định nghĩa được viết trong phần Preprocessor. Trong bài viết này thì mình dùng macro với cách dùng đầu tiên.

C/C++ Preprocessor - Constant và Conditional Inclusion

C/C++ Preprocessor Hằng số (Constant) #define được dùng để định nghĩa hằng số trong preprocessor. Cách sử dụng như sau: #define THREE 3 Sau câu lệnh này thì bất cứ chỗ nào có THREE trong code của bạn thì compiler sẽ thay nó thành 3 hết. Tuy nhiên, vì trình biên dịch ko hiểu cái 3 trên là số hay là chữ, là int hay float, nó chỉ đơn giản làm công việc copy và paste những gì đã được định nghĩa mà thôi.

Lập trình C theo tinh thần hướng đối tượng

Cách viết C theo tinh thần hướng đối tượng Nếu như võ công chỉ có vài môn phái chiếm đa số như kiếm tông, khí tông thì lập trình cũng vậy, chỉ có vài paradigm chiếm thế thượng phong như lập trình thủ tục, lập trình hướng đối tượng. Học là học cái tinh thần, thỉnh thoảng đâu đó ta nghe nói dùng PHP4 cũng có thể lập trình hướng đối tượng như PHP5, ngôn ngữ Ruby hướng đối tượng viết bằng ngôn ngữ C không hướng đối tượng là vì vậy.

4 tính chất đặc thù của lập trình hướng đối tượng

Tính chất đặc thù của lập trình hướng đối tượng Với lập trình hướng đối tượng (OOP), có 2 câu hỏi thực dụng: Nó có những tính chất đặc thù gì? Để ta có thể dễ nhớ, dễ hiểu, dễ hình dung về nó. Khi học một ngôn ngữ OOP nào đó, làm sao để kiểm tra xem ta đã nắm bắt được ngôn ngữ này hay chưa, bằng cách viết thử code để diễn tả các đặc thù này bằng cú pháp của ngôn ngữ này?

Từ khóa Static trong lập trình C/C++

Từ khóa Static Mở đầu Khi học C cơ bản, chắc hẳn bạn sẽ gặp cách dùng từ khoá static như ví dụ dưới đây: #include <stdio.h> void count(int i) { static int num = 0; num += i; printf("current value of num: %d\n", num); } int main() { count(1); count(3); return 0; } Kết quả khi chạy chương trình sẽ là: current value of num: 1 current value of num: 4 Biến num khai báo static như trên có 2 đặc điểm:

Từ khóa virtual trong C++

# Tác dụng của từ khoá virtual, tại sao cần có virtual function Một số tài liệu có viết công dụng của Virtual Function như sau: Virtual Function là để khai báo một function ở class cha (base class) mà sau đó các class kế thừa (derived class) có thể override function đó. Nhưng chờ đã, có gì không ổn ở chỗ này, nếu chỉ là để override thôi thì mình hoàn toàn có thể khai báo function ở base class mà không cần virtual thì vẫn được cơ mà.

WPF - Hiển thị văn bản trong RichTextBox

Hiển thị văn bản trong RichTextBox Bạn có thể để ý rằng trong WPF, RichTextBox không có phương thức add văn bản vào như Text hoặc Contents. Vì vây, bạn sẽ phải điều chỉnh lại một chút để có thể thuần phục control này, ngoài ra bạn cũng có thể hiển thị văn bản đã được định dạng như là in nghiêng, đậm, tô màu cho chữ… vân vân và vân vân.