Cảm ơn anh hbaocr
Cuối cùng thì nhờ anh Hbaocr + Help của Keil RV thì em cũng làm đc UART (hic ko có nó làm mấy cái Timer, Counter, ADC sau này biết thế nào ).
Kết quả đơn giản hơn em nghĩ nhiều. Sau đây em xin trình bày chút xíu cái fault này cho các bạn học ARM sau này dùng RV mà đọc phải các tài liệu hướng dẫn dùng CARM:
- Dùng UART cứ đọc sơ sơ Datasheet của LPC (em dùng LPC mà) để biết khái niệm chút (còn nếu ai lười thì chuyển bước tiếp theo cũng ko sao)
- Đọc tài liệu ARM, các tut viết về UART, có thời gian thì nghiên cứu nó 1 chút, cũng dễ hiểu thôi, ko thì copy hoàn toàn đoạn code của họ vào (ko biết có vi phạm bản quyền ko nhỉ ).
Quan trọng là nếu các hàm truyền nhận là putchar(), getchar() thì phải đổi tên lại thành:
putchar() --> sendchar()
getchar() --> getkey()
- Cuối cùng bạn add thêm file "retarget.c" trong thư mục của Keil RV vào hình như là Keil/ARM/Startup, cuối cùng dùng các hàm của thư viện Stdio.h như bình thường.
Em có đọc trên net một số chỗ, nếu các hàm putchar(), getchar() này viết cho thiết bị ngoại vi nào thì printf() sẽ send ra cho thiết bị ngoại vi đó. Do đó nó khá thuận tiện, ai thích thì có thể viết lại gửi ra LCD, thiết bị khác ngoài UART.
Chúc anh em chủ nhật vui vẻ.
Cuối cùng thì nhờ anh Hbaocr + Help của Keil RV thì em cũng làm đc UART (hic ko có nó làm mấy cái Timer, Counter, ADC sau này biết thế nào ).
Kết quả đơn giản hơn em nghĩ nhiều. Sau đây em xin trình bày chút xíu cái fault này cho các bạn học ARM sau này dùng RV mà đọc phải các tài liệu hướng dẫn dùng CARM:
- Dùng UART cứ đọc sơ sơ Datasheet của LPC (em dùng LPC mà) để biết khái niệm chút (còn nếu ai lười thì chuyển bước tiếp theo cũng ko sao)
- Đọc tài liệu ARM, các tut viết về UART, có thời gian thì nghiên cứu nó 1 chút, cũng dễ hiểu thôi, ko thì copy hoàn toàn đoạn code của họ vào (ko biết có vi phạm bản quyền ko nhỉ ).
Quan trọng là nếu các hàm truyền nhận là putchar(), getchar() thì phải đổi tên lại thành:
putchar() --> sendchar()
getchar() --> getkey()
- Cuối cùng bạn add thêm file "retarget.c" trong thư mục của Keil RV vào hình như là Keil/ARM/Startup, cuối cùng dùng các hàm của thư viện Stdio.h như bình thường.
Em có đọc trên net một số chỗ, nếu các hàm putchar(), getchar() này viết cho thiết bị ngoại vi nào thì printf() sẽ send ra cho thiết bị ngoại vi đó. Do đó nó khá thuận tiện, ai thích thì có thể viết lại gửi ra LCD, thiết bị khác ngoài UART.
Chúc anh em chủ nhật vui vẻ.
Comment