首页 文章
  • 0 votes
     answers
     views

    在MSP430上的ISR期间发送UART字节

    我正在试图找出在我的ISR中处理数据的最佳设计实践 . 我知道我希望我的ISR快速,所以在我的ISR期间将数据发送到UART是否可以?我做得太多了吗? static void ParseRxData(const uint8_t rx_byte) { // Only Allow ASCII Characters to be loaded into buffer // This wil...
  • 1 votes
     answers
     views

    在STM32上编程NVIC(无库)

    我已经彻底搜索了我正在使用的STM32F4 MCU的数据表和用户手册(包括用于STM32F4xx MCU的PM0214)以及有关通用MCU的在线信息,以便了解如何在没有库的情况下编程中断...但无济于事 . NVIC是如此紧密地绑定到编程中断的硬件并指定一个ISR地址和一个功能的首字母缩写,如今没有某种类型的库是不切实际的吗?在每个帖子和文档中,我看到类似的东西: NVIC_EnableIRQ(...
  • 0 votes
     answers
     views

    中断服务例程

    我研究过我们不能真正篡改中断向量表但是当我们在计算机中安装新设备驱动程序时会发生什么,它的地址如何存储在中断向量表中?
  • 0 votes
     answers
     views

    在nRF52 Arduino上的定时器中断内启用I2C中断

    我正在使用Redbear Arduino Library为基于nRF52的电路板编写程序 . 有效地将我的板作为BLE Nano 2处理 . 我有一个计时器,每隔x毫秒,例如50毫秒 . 在该计时器内部,我想从I2C传感器读取数据并将读数添加到缓冲区 . 我知道默认情况下,当在定时器ISR内部时,中断被禁用 . 我想知道如何短暂地重新启用I2C中断,并获取传感器读数,然后再次禁用中断 . 传感器读...
  • -1 votes
     answers
     views

    易失性使用,变量未读取主要内容

    我知道这里有很多关于volatile的问题,但是我没有找到任何特定于这种情况的东西 . 我正在使用微控制器 . 我知道当我在ISR中修改一个全局变量并在我的main函数中读取它时,我必须使用volatile限定符 . 我也觉得非常适合记忆障碍,比赛条件等 . 但是如果我只在主函数中写入一个全局变量(中断被禁用以强制执行原子写入)并且我正在我的ISR中读取和写入它 . 为了给出一个明确的例子假设这个...
  • 9 votes
     answers
     views

    CPU如何找到ISR并区分设备

    我应该先分享我所知道的一切 - 那就是完全混乱 . 关于这个主题有几个不同的问题,所以请不要生气:) . 1)为了找到ISR,CPU具有中断号 . 在x86机器(286/386及以上)中,有一个带有ISR的IVT;每个4字节大小的条目 . 所以我们需要将中断数乘以4才能找到ISR . 所以第一堆问题是 - 我完全混淆了CPU接收中断的机制 . 为了引发中断,首先设备应该探测IRQ - 然后是什么...
  • 3 votes
     answers
     views

    上下文切换功能与中断调用? [关闭]

    我理解从SE问题下面的函数调用和中断(ISR)跳转之间的基本区别 . difference between function call & ISR 但我仍然不清楚,在这两种情况下,寄存器将被推送/弹出/从堆栈中弹出什么?在这两种情况下如何进行上下文切换?由于我们不知道何时会发生中断,我们需要在进入ISR之前保存(变量,PC,标志(PSW),寄存器,上下文)? 如何在没有任何数据丢失的情况下...

热门问题