SNIP_CLASSIC_CAN_SECTION_8_3_2_3_Can_DisableControllerInterrupts
Wortlaut
8.3.2.3 Can_DisableControllerInterrupts
[SWS_Can_00231] Definition of API function Can_DisableControllerInterrupts
Upstream requirements: SRS_BSW_00312
⌈
Service Name
Can_DisableControllerInterrupts
Syntax
void Can_DisableControllerInterrupts (
uint8 Controller
)
Service ID [hex]
0x04
Sync/Async
Synchronous
Reentrancy
Reentrant
Parameters (in)
Controller
CAN controller for which interrupts shall be disabled.
Parameters (inout)
None
Parameters (out)
None
Return value
None
Description
This function disables all interrupts for this CAN controller.
Available via
Can.h
⌋
[SWS_Can_00049]
Upstream requirements: SRS_Can_01043
⌈The function Can_DisableControllerInterrupts shall access the CAN controller registers to disable all interrupts for that CAN controller only, if interrupts for that
CAN Controller are enabled.⌋
[SWS_Can_00202]
⌈When
Can_DisableControllerInterrupts
has
been
called several times, Can_EnableControllerInterrupts must be called as many
times before the interrupts are re-enabled.⌋
Implementation note:
The function Can_DisableControllerInterrupts can increase a counter on every execution that indicates how many Can_EnableControllerInterrupts need
to be called before the interrupts will be enabled (incremental disable).
[SWS_Can_00204] ⌈The Can module shall track all individual enabling and disabling
of interrupts in other functions (i.e. Can_SetControllerMode) , so that the correct
interrupt enable state can be restored.⌋
Implementation example:
• in ’interrupts enabled mode’: For each interrupt state change does not only modify
the interrupt enable bit, but also a software flag.
• in ’interrupts disabled mode’: only the software flag is modified.
• Can_DisableControllerInterrupts and Can_EnableControllerInterrupts do not modify the software flags.
• Can_EnableControllerInterrupts reads the software flags to re-enable
the correct interrupts.
[SWS_Can_00205] ⌈If development error detection for the Can module is enabled:
The function Can_DisableControllerInterrupts shall raise the error CAN_E_
UNINIT if the driver not yet initialized.⌋
[SWS_Can_00206] ⌈If development error detection for the Can module is enabled:
The function Can_DisableControllerInterrupts shall raise the error CAN_E_
PARAM_CONTROLLER if the parameter Controller is out of range.⌋
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Explicit mention of SWS_Can_00231 in the text of document AUTOSAR_CP_SWS_CANDriver.pdf.
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_CANDriver.pdf |
|---|---|
| Dokumentseite | Seite 61 |
| Ziel-Modul | can (classic) |
| Ziel-Anforderung | SWS_Can_00231 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.98 |