极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13443|回复: 4

【求助】关于中断和串口通讯的问题

[复制链接]
发表于 2016-5-11 22:23:54 | 显示全部楼层 |阅读模式
我要通过串口接收外部指令 所以要中断常开  可是我内部有一个计时的中断函数,计时的中断函数我需要它工作一段时间就停止,怎么才能不影响串口接收指令又能计时的中断关闭?
回复

使用道具 举报

发表于 2016-5-12 09:20:52 | 显示全部楼层
这要看你整个系统的要求了,计时器中断时间是否很长,或者他是否严重影响到串口的工作?如果不用计时器用mills()函数是否能解决这个问题?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-12 09:30:03 | 显示全部楼层
164335413 发表于 2016-5-12 09:20
这要看你整个系统的要求了,计时器中断时间是否很长,或者他是否严重影响到串口的工作?如果不用计时器用mi ...

用mills()函数不行 现在的问题是相当于两个中断会相互影响 我要单独关闭其中一个能做到吗
回复 支持 反对

使用道具 举报

发表于 2016-5-12 20:17:19 | 显示全部楼层
使用AVR相应的中断寄存器单独控制中断。
开中断TIMSK2 |= OCIE2B; 关中断TIMSK2 &= TOIE2;(是2还是其他数字就看你用了哪个中断)
开串口 UCSR0B |=0x80; 关串口中断UCSR0B &= 0x7F;(如果是atmega328P,也许是UCSRB)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 10:23:47 | 显示全部楼层
164335413 发表于 2016-5-12 20:17
使用AVR相应的中断寄存器单独控制中断。
开中断TIMSK2 |= OCIE2B; 关中断TIMSK2 &= TOIE2;(是2还是其他数 ...

你说的中断控制器我用了没用 不知道是不是我的用法不对 我先把中断开启了 然后关闭 可发现没用额
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 02:48 , Processed in 0.034564 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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