Tôi có một công việc toàn thời gian là một kỹ sư phần mềm. Gần đây tôi đã được giao một nhiệm vụ để xem xét cấu hình GPIO và thay đổi cài đặt khi cần. Tôi tìm thấy một vài chân được cấu hình không chính xác nên tự nhiên tôi đã cấu hình lại chúng, tuy nhiên tôi được cho biết là tôi đã làm sai thứ tự. Đây là những gì tôi đang nói về:
Trước:
GPIO1.direction = INPUT;Sau:
GPIO1.direction = OUTPUT;
GPIO1.value = 0;
Tuy nhiên trong quá trình xem xét mã tôi đã được thông báo rằng tôi cần thay đổi thứ tự khởi tạo thành như sau:
GPIO1.value = 0;
GPIO1.direction = OUTPUT;
Nói cách khác, đặt giá trị trước rồi đặt hướng của pin. Tôi cũng đã được thông báo rằng đây là cách nó cần phải có trên các bộ xử lý hiện đại bởi vì chúng sử dụng hai thanh ghi, một cho đầu vào và một cho đầu ra, tuy nhiên các bộ xử lý cũ chỉ sử dụng một thanh ghi, vì vậy thứ tự hoạt động sẽ không thành vấn đề.
(Lưu ý: Hiện đại = ARM Cortex M3 trở lên, Cũ = Intel 8051)
Tôi yêu cầu một lời giải thích tốt hơn trong công việc, nhưng tôi không thể có được một câu trả lời tốt. Đó là lý do tại sao tôi quyết định hỏi ở đây.
Vì vậy, đây là những câu hỏi của tôi:
- Tại sao thứ tự khởi tạo lại quan trọng trên bộ xử lý mới?
- Tại sao thứ tự khởi tạo không quan trọng trên các bộ xử lý cũ?
- Họ đang nói về hai thanh ghi nào trong các bộ xử lý hiện đại?
- Những gì đăng ký duy nhất họ đang nói về bộ xử lý cũ?
Nếu ai đó có thể cung cấp một số loại sơ đồ, điều đó sẽ còn tốt hơn nữa.