10.07.2015 Views

MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

中 断7.6 中 断 响 应 时 间7.7 中 断 嵌 套7.8 使 能 / 禁 止 中 断有 两 个 因 素 影 响 中 断 源 发 生 到 执 行 ISR 代 码 第 一 条 指 令 之 间 的 周 期 数 。 这 两 个 因 素是 :• 处 理 器 处 理 中 断 时 间 — 处 理 器 识 别 中 断 并 跳 转 到 中 断 向 量 第 一 个 地 址 的 时 间 。 这个 值 与 具 体 器 件 和 所 使 用 中 断 源 有 关 , 为 确 定 这 个 值 的 大 小 , 请 参 考 相 应 器 件 的 数据 手 册 。• ISR 代 码 — MPLAB <strong>C30</strong> 在 ISR 中 保 存 它 使 用 的 寄 存 器 , 这 包 括 工 作 寄 存 器 和RCOUNT 特 殊 功 能 寄 存 器 。 而 且 , 如 果 ISR 调 用 一 个 普 通 的 函 数 , 编 译 器 要 保 存所 有 的 工 作 寄 存 器 和 RCOUNT, 即 使 在 ISR 中 没 有 显 式 使 用 这 些 寄 存 器 。 必 须 要保 存 这 些 寄 存 器 , 因 为 一 般 来 说 , 编 译 器 不 知 道 被 调 用 函 数 使 用 了 哪 些 资 源 。dsPI<strong>C30</strong>F 器 件 支 持 中 断 嵌 套 。 由 于 在 ISR 中 将 处 理 器 资 源 保 存 在 堆 栈 中 , 对 嵌 套 ISR的 编 码 与 非 嵌 套 中 断 的 编 码 相 同 。 通 过 清 零 INTCON1 寄 存 器 中 的 NSTDIS 位 ( 嵌 套中 断 禁 止 位 ) 来 使 能 中 断 嵌 套 。 注 意 这 是 默 认 设 置 , 因 为 dsPI<strong>C30</strong>F 器 件 在 复 位 时 是使 能 嵌 套 中 断 的 。 在 中 断 优 先 级 控 制 寄 存 器 (IPCn) 中 , 为 每 个 中 断 源 分 配 了 一 个 优先 级 。 如 果 有 一 个 处 于 等 待 状 态 的 中 断 请 求 (IRQ), 其 优 先 级 等 于 或 高 于 处 理 器 状 态寄 存 器 中 的 (ST 寄 存 器 中 的 CPUPRI 字 段 ) 当 前 处 理 器 优 先 级 , 处 理 器 将 响 应 中断 。可 单 独 禁 止 或 使 能 每 个 中 断 源 。 每 个 IRQ 的 都 有 一 个 中 断 使 能 位 位 于 中 断 使 能 控 制 寄存 器 (IECn) 中 。 将 中 断 使 能 位 置 1 将 使 能 相 应 的 中 断 ; 将 中 断 使 能 位 清 零 将 禁 止 相应 的 中 断 。 dsPIC 器 件 复 位 时 , 所 有 中 断 使 能 位 都 被 清 零 。 另 外 , 处 理 器 还 有 一 个 禁止 中 断 指 令 (disable interrupt instruction,DISI), 可 在 指 定 的 指 令 周 期 数 内 禁 止 所 有中 断 。注 : 陷 阱 , 如 地 址 错 误 陷 阱 , 不 能 禁 止 。 只 有 IRQ 是 可 以 被 禁 止 的 。© 2005 Microchip Technology Inc. DS51284C_CN 第 93 页

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!