打印

串口接收引起的模拟PWM调光闪烁,请高手帮帮忙

[复制链接]
26547|50
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaomuhong26|  楼主 | 2010-11-8 21:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
aihe| | 2010-11-8 22:17 | 只看该作者
结构不合理

使用特权

评论回复
板凳
Adu0227| | 2010-11-8 22:49 | 只看该作者
建议规定优先级。

使用特权

评论回复
地板
coody| | 2010-11-8 23:15 | 只看该作者
1、你的串口接收程序可能耗时过长。
2、将PWM的定时器优先级设置最高。

我做过12路 8位的PWM,用的STC的20脚的MCU,跑22.1184MHZ,PWM频率为337.5HZ,12路同步输出。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
SmartEnergy + 1 好!牛!
5
ayb_ice| | 2010-11-9 08:31 | 只看该作者
降低UART通信速率,优化中断程序...

使用特权

评论回复
6
xiaomuhong26|  楼主 | 2010-11-9 08:32 | 只看该作者
coody   请问你说的12路是用IO口模拟的吗?12路模拟时,我的也能实现,可是用串口时,把PWM定时器的优先级设置为最高时,根本就收不到数据了

使用特权

评论回复
7
coody| | 2010-11-9 10:47 | 只看该作者
6楼,是你的程序结构问题。

使用特权

评论回复
8
xiaomuhong26|  楼主 | 2010-11-9 11:30 | 只看该作者
那请问,如果我想达到一种效果类似于此:不断地接收从单片机A串口发送过来的数据来更新单片机B中PWM中的数据,而且要单片机B 中的PWM正常工作,该如何处理?请问有什么办法吗?

使用特权

评论回复
9
xiaomuhong26|  楼主 | 2010-11-9 11:42 | 只看该作者
补充:单片机B中,PWM调光定时器是每隔100us处理一次;串口波特率是250Kbit/s,不断地在接收从单片机A中发过来的数据来更新PWM中调光数据。如果我将定时器中断优先级设为高,则会造无法接收到串口数据;如果将串口优先级设为高,则会使PWM调光闪烁。
  请问各位大侠有没有一种好的程序结构,既能满足PWM调光不让其闪烁,又能较为实时的更新数据,达到实时变化效果??????

使用特权

评论回复
10
coody| | 2010-11-9 12:25 | 只看该作者
将PWM定时器中断优先级设置最高,优化PWM程序,使中断运行时间小于40us,串口才不会丢失数据,因为串口是40us一个字节。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
hyhv126 + 1
11
yx331447791| | 2010-11-9 13:06 | 只看该作者
我觉得可能你用的过程序中不用这么做,你最好把你想实现的目标告诉大家,可能这种效果更好

使用特权

评论回复
12
上海普芯达| | 2010-11-9 13:27 | 只看该作者
模拟串口通信,跑飞是正常的!~~  不稳定!~

使用特权

评论回复
13
xiaomuhong26|  楼主 | 2010-11-9 14:01 | 只看该作者
我是做舞台灯光产品的,现在电路板上面有两个单片机,单片机A--STC12C5608,单片机B--STC90C52,我本意是在单片机A中实现键盘、数码管显示等功能,而在单片机B中实现各种灯光效果,例如频闪、渐变等;我本想让单片机A(波特率为250Kbit/s)发送一个数据组过来,里面包话模式(代表是哪种功能--频闪或渐变),和另一个数据(占空比:这个值在渐变功能中是会变化的),但是现在遇到了问题,单片机显示频闪效果时,LED灯光就会不断闪烁。我想问的是如何才能使LED不闪烁

使用特权

评论回复
14
xiaomuhong26|  楼主 | 2010-11-9 14:02 | 只看该作者
模拟串口通信,跑飞是正常的!~~  不稳定!~
上海普芯达 发表于 2010-11-9 13:27

我没有模拟串口,我模拟的是PWM调光

使用特权

评论回复
15
hwq362202| | 2010-11-9 14:07 | 只看该作者
:)

使用特权

评论回复
16
hyhv126| | 2010-11-9 14:12 | 只看该作者
学习中。。

使用特权

评论回复
17
xiaomuhong26|  楼主 | 2010-11-9 14:50 | 只看该作者
我想知道是什么原因造成这种闪烁的

使用特权

评论回复
18
xiaomuhong26|  楼主 | 2010-11-9 14:51 | 只看该作者
不知各位大侠有什么高明的见解?请大侠们不吝解惑

使用特权

评论回复
19
SmartEnergy| | 2010-11-9 14:55 | 只看该作者
我是做舞台灯光产品的,现在电路板上面有两个单片机,单片机A--STC12C5608,单片机B--STC90C52,我本意是在单片机A中实现键盘、数码管显示等功能,而在单片机B中实现各种灯光效果,例如频闪、渐变等;我本想让单片机A ...
xiaomuhong26 发表于 2010-11-9 14:01

全调光范围都闪吗?会不会PWM频率太低了?

使用特权

评论回复
20
wkfuye| | 2010-11-9 15:08 | 只看该作者
:dizzy:优化中断程序

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

85

帖子

1

粉丝