找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机定时器与串口中断冲突

查看数: 4413 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-3-24 20:47

正文摘要:

本帖最后由 Elilala 于 2021-3-25 10:00 编辑 使用PWM控制电机转速,同时实时使用串口采集温度。同时TR0=1,TR1=1时温度采集出错。将TR0=1注释掉后正确,但是无法控制电机转速,只能启动。部分代码如下:#include ...

回复

ID:390416 发表于 2021-3-25 16:14
串口的发送 不能拥挤,比如9600波特率 发一个字节需要1ms  那么 连续两次写入SBUF 时间间隔必须大于1040us 。 可以看看我发的贴子, 串口发送不需要while 死等。提高CPU效率。
ID:811405 发表于 2021-3-25 16:03
串口实时发送温度值给上位机,每一次发送之间没有时间间隔,当上位机通过串口下发指令时,串口被占用而产生错误

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:306086 发表于 2021-3-25 09:28
人人学会单片机 发表于 2021-3-24 21:41
DS18B20是串口?你确定没搞错?

更新了一下代码。DS18B20读到的数据通过串口发送给上位机。
ID:306086 发表于 2021-3-24 21:47
将TMOD=0x21后能正确读取温度,并且可以控制风扇转速,可是温度读取会偶尔出现错误。
ID:390416 发表于 2021-3-24 21:41
DS18B20是串口?你确定没搞错?
ID:306086 发表于 2021-3-24 20:48
采用串口助手控制电机转速与采集温度。
2代表启动,3反转,0加速,1减速,4停止,5复位。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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