野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12293|回复: 2

关于STM32中断函数与其他函数共用全局变量的问题

[复制链接]
发表于 2018-6-23 14:30:48 | 显示全部楼层 |阅读模式
请问下
一、有个全局变量num,当我在main()中正在读取或写入 num 时,中断发生,在中断函数中读取或写入 num 。STM32怎么处理这种情况?

二、我是用中断检测PWM输入,在中断函数中将高电平时间存入全局变量 Channel_Val ,并在外部函数直接读出 CH1=Channel_Val;  为什么 CH1 从未出现错误?

回复

使用道具 举报

发表于 2018-6-23 16:05:34 来自手机 | 显示全部楼层
1.按照正常程序流程处理,中断来了就执行中断代码,中断完成就回到主程序继续执行,num是共用的。2.那是因为中断只是赋值,外部函数只是读取,有错了你怎么判断?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-26 13:27:04 | 显示全部楼层
fire 发表于 2018-6-23 16:05
1.按照正常程序流程处理,中断来了就执行中断代码,中断完成就回到主程序继续执行,num是共用的。2.那是因 ...

那有没有可能就是,某个函数正在向num里写数据,写到一半,中断来了,在中断里要向num写数据。这两个写数据会不会发生干扰?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-7 02:19 , Processed in 0.095849 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表