OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2574|回复: 0

串口通信与定时器存在反应速度的问题

[复制链接]

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
186
金钱
186
注册时间
2015-8-19
在线时间
42 小时
发表于 2016-4-12 14:56:37 | 显示全部楼层 |阅读模式
本人STM32小白,在学系寄存器版本同时,多个同学推荐我学库函数版本,目前库函数学习中:
之前做的小东西用寄存器写得,并没有发现这方面的问题,可是库函数版本时候就出现了这样的问题:
实验问题:串口通信:实现功能,发送简单的单字符控制命令进行控制,暂时用LED灯
历程好使,改动之后好使
加入PWM功能好使,加入定时器中断后就不好使,没有反应,但是改变串口中断优先级有反应。
定时器中断优先级:TIM2 抢占优先级1  优先级0
                  TIM3 抢占优先级1  优先级1
                  TIM4 抢占优先级1  优先级2
                  TIM4 抢占优先级1  优先级3
串口优先级 若串口优先级 抢占优先级0  优先级1
实验结果:发送命令不识别
若串口优先级 抢占优先级3 优先级3
实验结果:发送命令识别慢
顺序一: PWM 定时器 串口
顺序二: PWM 定时器 串口
问题已经解决:解决方法:在初始化之前定时器设置在串口前面,降低定时器优先级,同时提高串口中断优先级通过实验效果不明显
串口中段抢占优先级 1 3效果比较好 逐渐试了其他的中断优先级,发现一个现象:中断优先级之间有空差(即相隔几个中断优先级不用)影响反应速度,即中断优先级之间顺序挨着最好!

可是我觉得我在程序中的顺序又不太对,希望大神能提供一些指点

12_暂时好使.rar

1.95 MB, 下载次数: 294

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-11 00:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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