Sử dụng hai USART chạy ở 115200 baud trên STM32F2, một để giao tiếp với mô-đun radio và một cho nối tiếp từ PC. Tốc độ đồng hồ là 120MHz.Lỗi quá mức với hai ngắt USART
Khi nhận dữ liệu từ cả hai lỗi vượt quá USART cùng lúc có thể xảy ra trên một USART hoặc lỗi khác. Làm một số nhanh chóng trở lại của các tính toán phong bì có đủ thời gian để xử lý cả hai, như các ngắt chỉ đơn giản là sao chép byte vào một bộ đệm tròn.
Trong cả hai lý thuyết và từ đo mã ngắt để đẩy byte để đệm nên/không chạy theo thứ tự của 2-4μS, tại 115200 baud chúng tôi có khoảng 70us để xử lý mỗi char.
Tại sao chúng ta thấy các ORE không thường xuyên trên một hoặc USART khác?
Update - thêm thông tin:
- Không ISRs khác trong mã của chúng tôi được bắn vào lúc này.
- Chúng tôi đang chạy Keil RTX với ngắt gián đoạn được định cấu hình để kích hoạt mỗi 10mS.
- Hiện tại, chúng tôi không vô hiệu hóa bất kỳ gián đoạn nào.
- Theo cuốn sách này (của nhà thiết kế Guide to the Cortex-M Processor Family) độ trễ gián đoạn là khoảng 12cycles (không thực sự nguy hiểm)
Với tất cả các 70us trên là ít nhất gấp 10 lần so với thời gian chúng tôi thực hiện để xóa các gián đoạn - vì vậy tôi không chắc nó là dễ dàng như vậy để giải thích. Tôi có nên kết luận rằng phải có một số yếu tố khác tôi đang tìm kiếm?
MDK-ARM là phiên bản 4.70
Các systick ngắt được sử dụng bởi các RTOS do đó có thể không phải thời gian này các ISRs khác mất 2-3μS để chạy mỗi byte mỗi.
Bạn chưa cung cấp đủ thông tin để ai đó nói lý do tại sao bạn, đặc biệt, đang bị lạm dụng. Các ứng cử viên rõ ràng: Vô hiệu hóa ngắt ở một nơi khác? Bộ xử lý ngắt ưu tiên cao hơn quá chậm? Lỗi trong mã của bạn? Không đủ thông tin để tìm ra cái nào. – janm
Độ trễ ISR là khá chết người trên chip đó, các UART không có bộ đệm nămo. Tính toán lý thuyết của bạn đã được tắt bởi một yếu tố của hai. Thêm các ngắt ưu tiên cao hơn có ISR mất quá nhiều thời gian hoặc ngắt kết nối bị vô hiệu hóa trong mã mà bạn không biết và việc tràn ngập sẽ dễ giải thích. –
Cảm ơn các ý kiến tôi đã thêm một số thông tin cho câu hỏi, tôi không chắc chắn những thông tin khác tôi có thể cung cấp. –