Hướng dẫn nạp chương trình test cho nRF52832 Development Kit

Sau khi cài đặt thành công công cụ hỗ trợ cho việc lập trình Keil C V5, nRF5 SDK và công cụ hỗ trợ nạp code nRFgo Studio thì bay giờ mình sẽ hướng dẫn các bạn nạp chương trình để test phần cứng nRF52832 Development Kit mà nhóm mình mình đã thực hiện với các chức năng sau: 
 – Khi khởi động, 04 LED cùng sáng
 – Mỗi 01 giây gửi chuỗi dữ liệu qua UART “nRF52832 Development Kit – TAPIT LRS Community” 
 – Khi nhấn button nào thì led tương ứng sẽ đảo trạng thái 
 – Khi gửi bất kì kí tự hay chuỗi nào qua giao tiếp UART thì sẽ phản hồi lại(echo) dữ liệu đó.

*Thông tin về phần cứng nRF52832 Development Kit các bạn xem tại đây.
*Chương trình DevKit_TestPass các bạn tải về tại đây.
* nRF52 SDK các bạn tải về tại đây.

Bước 1: Tải về
Các bạn giải nén chương trình nRF52_DevKit_TestPass và copy vào song song với thư mục chứa SDK mà các bạn đã tải về trước đó.
Ví dụ như trong trường hợp của mình: trong ổ đĩa D, mình tạo 1 thư mục có tên là nRF52 để chứa các project của Bluetooth. Trong thư mục nRF52, mình có thư mục Origin_SDK chứa SDK đã tải về, còn project của chúng ta sẽ được lưu bên trong thư mục có tên là nRF52_DevKit_TestPass. Các bạn có thể nhìn cây thư mục ở bên trái để thấy rõ hơn bên trong.
Lưu ý: Các bạn để tên thư mục và cấp bậc vị trí lưu trữ phải giống với hướng dẫn của mình thì mới thực hiện được các bước tiếp theo. Vì Project nRF52_DevKit_TestPass có sử dụng các thư viện được lưu trong thư mục Origin_SDK và mình đã cấu hình đường dẫn theo đúng cấp bật vị trí như  vậy.

Bước 2: Biên dịch chương trình

Các bạn vào thư mục nRF52_DevKit_TestPass và chạy file Keil C project “uart_pca10040.uvprojx”.
Hoặc mở Keil C lên trước và chọn Project -> Open Project, sau đó trỏ tới file này:

Sau khi mở Project lên, các bạn nhấn Build (F7), sau khi build xong, các bạn tìm đến dòng 101 của file main.c (các bạn nhìn vào cây thư mục bên phải để thấy vị trí file main.c), nhấp chuột phải vào RX_PIN_NUMBER và chọn Go to Definition Of “RX_PIN_NUMBER”:

=> File pca10040.h sẽ được mở ra, các bạn define lại chân RX là chân 11 và chân TX là chân 12 cho giống với thiết kế phần cứng của nRF52832 Development Kit. Nếu không, chức năng truyền nhận dữ liệu UART sẽ không chạy được. 

Sau đó, các bạn nhấn Build (F7) một lần nữa rồi Load (F8) và quan sát thông báo nạp code thành công. 

Sau khi nạp thành công, các bạn kiểm tra nút bấm và LED bằng cách tác động trực tiếp lên Kit phát triển. Kiểm tra UART bằng Hercules HW, các bạn lưu ý tốc độ baud và khung truyền. 

 

Hướng dẫn kiểm tra các kết nối:

Có thể bạn sẽ nhận thông báo lỗi khi nạp chương trình, vì cài đặt thiếu hoặc kết nối phần cứng lỏng. 
Các bạn có thể kiểm tra nhanh qua các bước sau: 
1. Kiểm tra nguồn cung cấp cho kit: Nhìn vào đèn LED POWER trên kit.
2. Kiểm tra nguồn cung cấp cho mạch J -link: Nhìn vào đèn LED trên mạch nạp.
3. Kiểm tra Driver UART và Driver mạch nạp J-Link
Nhấp chuột phải vào This PC –> Manage –> Device Manage: 

4. Kiểm tra IDE  Keil C đã nhận được mạch nạp:

Từ project Keil C, các bạn nhấn vào Project  –> Options for Target, vào thẻ Debug để kiểm tra:

Các bạn có thể kiểm tra thêm bằng phần mềm nRFgo Studio, nếu phần mềm phát hiện được mạch nạp J-link thì sẽ cho các bạn vào mục nRF5x Programming. Tại đây, các bạn có thể xóa bộ nhớ của chip bluetooth, hoặc nạp chương trình đã biên dịch thành file *.hex. 

Xem thêm các bài viết lập trình Bluetooth khác tại đây.

Chúc các bạn thành công! 

Nhóm TAPIT R&D