社区
单片机/工控
帖子详情
串口中断并不进入中断子程序
wjguonet
2006-03-27 09:32:29
我在medwin2.39上调试时,发现我的串口中断我不能控制。程序中串口中断必须先设定时器。并启动定时器。当tf1为1时,不论串口是否有中断标志,程序均先进入定时中断子程序,再进入串口中断子程序。而如果不启动定时器,程序始终不进入串口中断子程序。即使我仅设串口中断为高级中断也不行。烦请解决
...全文
326
8
打赏
收藏
串口中断并不进入中断子程序
我在medwin2.39上调试时,发现我的串口中断我不能控制。程序中串口中断必须先设定时器。并启动定时器。当tf1为1时,不论串口是否有中断标志,程序均先进入定时中断子程序,再进入串口中断子程序。而如果不启动定时器,程序始终不进入串口中断子程序。即使我仅设串口中断为高级中断也不行。烦请解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunny2757
2006-04-21
打赏
举报
回复
1.没有看到你将串口中断设置为最高级(SETB PS)
2.mov p1,0f0h?
3.发送部分send中 jnb ti,$ 多余
wjguonet
2006-03-30
打赏
举报
回复
怎么没信了,呵呵
wjguonet
2006-03-28
打赏
举报
回复
;程序实现简单串口连接,程序在medwin2.39中调试
org 0000H
ajmp start
org 0023H ;串行中断入口
ajmp s
;-------------主程序-------------
org 0100h
start:
MOV SP,#60H
mov tmod,#20h ;设置定时器 T1 方式 2
mov pcon,#00h ;使 SMOD 为 0
mov tl1,#0e8h ;波特率为 1200b/s
mov th1,#0e8h
setb ea ;开全局中断
clr et1 ;关 T1 中断
setb es ;开串行中断
setb tr1 ;开 T1 定时
mov scon,#50h ;串行方式 1 ,允许接收
sjmp $
;-------------中断子程序-------------
s: mov c,ri
jc recive;RI 为 1 ,执行接收子程序
sjmp send ;否则,执行发送子程序
recive:mov A,sbuf
clr ri
cjne A,#52h,re ;是否接收到“ R ”
mov A,#59h ;是,发送“ Y ”
mov sbuf,A
sjmp endtr
re: mov @R1,A ; r1 为接收数据存放地址
inc R1
mov p1,0f0h
sjmp endtr
RET
send:
mov a,@r0 ;发送数据, r0 为存放数据的地址
mov sbuf,a
jnb ti,$
clr ti
inc r0
endtr:reti ;中断返回
end
wjguonet
2006-03-27
打赏
举报
回复
在线等待
flowercity
2006-03-27
打赏
举报
回复
贴代码
我给你调试看看
wjguonet
2006-03-27
打赏
举报
回复
to wanyeye(助人者天助) :
串口中断工作在串口模式2下,好像不用定时器也行触发串口中断。
to flowercity(Love Program,Love Living)
1、依照书上的程序,定时器好像只用来产生波特率的,不会产生复用的情况吧。
2、中断优先设置没有问题,中断控制设置也没有问题。
3、tmod scon没有问题阿
flowercity
2006-03-27
打赏
举报
回复
定时器1是不是复用了?
中断寄存器设置有问题吗?
TMOD、TCON、SCON设置正确吗?
色郎中
2006-03-27
打赏
举报
回复
中断不要定时器么?
Qt 上位机串口编程 Modbus编程
Qt是由Qt Company开发的主流跨平台... 本课程主要帮助学员熟练掌握 Qt 5框架串口编程,Modbus协议编程,并且通过两个实战工具项目,为学习Qt 上位机编程 串口、Modbus编程打下坚固的基础!
串口
中断
服务程序
今天下文主要在学习串口通信这一块,自己尝试写了串口通信的实验,将步骤记录如下:1,串口时钟使能;2,串口复位(非必要);3,GPIO端口模式设置;4,串口参数初始化;5,开启
中断
并初始化NVIC(
中断
优先级分组);6,使能串口;7,编写
中断
处理函数;8,串口数据收发;9,串口传输状态获取。 然后就是看见视频里面用了管脚复用但没有在程序里面说明(CSDN搜STM32发103:什么时候用到IO复位(A...
c51语言中 如何定义一个
中断
服务
子程序
,51单片机
中断
服务
子程序
的设计
中断
系统的运行必须与
中断
服务
子程序
配合才能正确使用。设计
中断
服务
子程序
需要首先明确以下几个问题。
中断
服务
子程序
设计的任务
中断
服务
子程序
设计的基本任务有下列4条:(1)设置
中断
允许控制寄存器IE,允许相应的
中断
请求源
中断
。(2)设置
中断
优先级寄存器IP,确定并分配所使用的
中断
源的优先级。(3)若是外部
中断
源,还要设置
中断
请求的触发方式IT1或IT0,以决定采用电平触发方式还是跳沿触发方式。(4)编写...
STM32_
串口
中断
接收数据_空闲
中断
STM32_
串口
中断
接收数据_空闲
中断
linux uart
中断
程序,linux
串口
中断
实现
我在linux系统下写的串口程序,需要实时的读取串口来的数据,但串口来的数据又是不定时的,想用
中断
的方式响应,看了一些资料,总觉的还所有些不妥。首先,select函数,他需要一直在while中检测读文件描述符是否有变化,但串口来了数据会改变文件描述符吗?(即使我的串口一直处在open状态中)另外,即使能检测到文件描述符有了变化,那程序也都一直在while中,CPU将不能再做其他的事情。其次,sig...
单片机/工控
27,382
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章