1. Xin chào Khách ! Ban quản trị sẽ tiến hành nâng cấp diễn đàn từ ngày 11/8/2017 Mọi truy cập có thể bị dán đoạn, mong bạn thông cảm!
    Dismiss Notice

xaxa9ztb Systick delay với NUC220

Thảo luận trong 'Bài viết dự thi'

Đang xem chủ đề này ( Thành viên: 0, Khách: 0)

  1. xaxa9ztb

    xaxa9ztb Kỹ sư Staff Member

    Tham gia ngày:
    14/11/13
    Bài viết:
    202
    Đã được thích:
    193
    Điểm thành tích:
    43
    Giới tính:
    Nam
    Lõi Cortex M0 cung cấp 1 bộ định thời hệ thống tích hợp nhằm tạo ra một thời gian chuẩn cho vi điều khiển.
    Đặc điểm của SysTick là 1 bộ đếm xuống (decrement) 24bit, giá trị đếm được tự động nạp lại khi bộ đếm về 0 (wrap-on-zero counter).
    Khi SysTick được bật, nó sẽ tự động đếm xuống từ giá trị nằm trong thanh ghi SysTick Current Value Register (SYST_CVR) tới 0 và sẽ tự động nạp lại giá trị trong thanh ghi SysTick Reload Value Register (SYSR_RVR) cho một chu trình mới.
    Đối với chip NUC220 nhà sản xuất đã viết sẵn một hàm SYS_SysTickDelay() để người dùng có thể khai thác
    khi khởi tạo hệ thống, chúng ta cần khai báo xung cho Systick bằng việc gán giá trị cho CyclesPerUs . Đây là giá trị được nsx Nuvoton define sẵn cho hàm SYS_SysTickDelay(), tức là 1 cycles là 1us (micro sec), hàm delay theo us
    Screenshot - 7_17_2014 , 6_19_25 PM.
    Ngoài ra chúng ta có thể tự viết hàm cho systick bằng cách sử dụng hàm SysTick_Config() để tính lại số xung cho systick và viết lại hàm ngắt SysTick_Handler(void)
    ví dụ:
    Screenshot - 7_17_2014 , 6_25_15 PM.
    Ở đây tôi dùng luôn Hàm SYS_SysTickDelay() để viết hai hàm delay_us và delay_ms sau khi khai báo CyclesPerUs = PLL_CLOCK / 1000000;
    Screenshot - 7_17_2014 , 6_27_16 PM.
     
    yeuthichdientu, daotruongprohuunho thích bài này.
  2. huunho

    huunho Thạc sỹ

    Tham gia ngày:
    16/1/14
    Bài viết:
    3,166
    Đã được thích:
    1,412
    Điểm thành tích:
    113
    Giới tính:
    Nam
    cho mình hỏi bạn có thể dùng asm để viết cho core M0 không vây?
     
  3. xaxa9ztb

    xaxa9ztb Kỹ sư Staff Member

    Tham gia ngày:
    14/11/13
    Bài viết:
    202
    Đã được thích:
    193
    Điểm thành tích:
    43
    Giới tính:
    Nam
    mình cũng xin trả lời là mình k biết 1 tý gì về asm luôn :D
     
  4. mta_cdt

    mta_cdt Super Moderator Staff Member

    Tham gia ngày:
    10/8/12
    Bài viết:
    2,861
    Đã được thích:
    3,567
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Chắc bác này đã từng dùng ASM viết code cho CORE M0 rùi
     
    xaxa9ztb thích bài này.
  5. huunho

    huunho Thạc sỹ

    Tham gia ngày:
    16/1/14
    Bài viết:
    3,166
    Đã được thích:
    1,412
    Điểm thành tích:
    113
    Giới tính:
    Nam
    ý mình là dùng Hợp ngữ viết sode ấy?
     
  6. xaxa9ztb

    xaxa9ztb Kỹ sư Staff Member

    Tham gia ngày:
    14/11/13
    Bài viết:
    202
    Đã được thích:
    193
    Điểm thành tích:
    43
    Giới tính:
    Nam
    ý mình là mình k đc học về hợp ngữ :D
     
    huunho thích bài này.
  7. mta_cdt

    mta_cdt Super Moderator Staff Member

    Tham gia ngày:
    10/8/12
    Bài viết:
    2,861
    Đã được thích:
    3,567
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Không được học hợp ngữ mà hãng cũng ko hỗ trợ code bằng hợp ngữ.
     
  8. xaxa9ztb

    xaxa9ztb Kỹ sư Staff Member

    Tham gia ngày:
    14/11/13
    Bài viết:
    202
    Đã được thích:
    193
    Điểm thành tích:
    43
    Giới tính:
    Nam
    câu này là chuẩn cho e :D Bây h các hãng đều hỗ trợ C hết rồi
     

Chia sẻ trang này