- 博客(4)
- 收藏
- 关注
原创 STM32单片机:事件和中断同时使用
在将事件和中断同时配置时,一个用 标准库定义模式时,另一个要用操作寄存器来开启中断或者事件屏蔽寄存器。不然只能使用一个,我只验证了在我这个项目中。上图是STM32F10XX参考手册中的外部中断/事件控制图;通过对上图的阅读,以及查阅参考手册,并没有说明事件和中断不能同时使用。要验证事件和中断可以同时使用,所以要使用110:EXTI11中断线。我使用的开发板是正点原子的STM32F103ZET6的开发板。使用事件前提是改硬件外设支持由事件触发,不然使用不了事件。ADC触发方式要改成外部事件触发。
2024-06-13 11:01:47 424 1
原创 位运算:异或
由上面的三种情况的(1)和(2)可以得出异或的作用之一取反:只要和1异或得到的都是相反的。例如:如果使a=1111101011的倒数第四位取反,不用异或的方法为:a &=~(1<<3);用异或的方法:a ^=8;第二个作用是清零和判断是否相等:当异或本身的时候便可清零,当然也可通过这个特性,来判断两个数异或是不是为0,来判断是否相等。第三个作用是交换值;即可实现两个值的交换。异或运算规则:相同为0,不同为1。
2024-06-06 14:58:48 201
原创 单片机中断服务程序设计原则
当单片机程序中有两个中断产生时,并且这两个中断的响应优先级相等时。这时,在执行一个中断服务程序时,如果在执行期间另一个中断触发时不会打断当前执行的中断服务程序,这时它的请求挂起寄存器会挂起,等待第一个中断服务程序执行完,才执行第二个中断。这就会影响单片机的实时性。解决:可以定义个全局变量,在中断服务程序中,改变这个全局变量,然后在mian函数中,判断这个变量,通过这个变量的值,来执行相关的操作。注:如果事件是非常重要比如和生命相关的,直接在中断服务程序中写相关操作。有什么错误,或者补充的欢迎私信或者评论。
2024-06-03 10:49:29 268
macbook显示Code的另一个实例正在运行但没有响应
2023-04-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人